rsync 병렬화(Parallelise rsync)

https://unix.stackexchange.com/questions/189878/parallelise-rsync-using-gnu-parallel
  1. rsync –dry-run 으로 목록 텍스트로 저장
  2. parallel rsync 에 목록 텍스트를 넘겨서 병렬로 동기화

더 간단하게

  1. ls 결과를 parallel rsync 에 파이프로 넘겨줌
    1. ls -1 | parallel rsync -a {} /destination/directory/

PR(Pull Request) 이후의 github fork 저장소 관리

  • fork 하여 수정 내역을 원본(upstream) 저장소에 PR하여 받아들여진 후, fork 저장소쪽 가지(branch)는 어떻게 관리해야 하는가?
  • github에서 fast-forward merge 를 지원 안해줘서 발생하는 이슈라고.

github 등에 공개된 프로젝트에 기여하고자 PR 하려면 일단 원본을 Fork 하여 자신의 github 저장소에 복사 하게 된다. 여기서 바로 편집도 되긴 하겠지만 보통은 로컬로 clone 후 작업이 일반적이라 생각하고(다른 사람 어떻게 하는지 모르겠음).

로컬 저장소 master에 바로 작업 후 commit 하기도 하겠지만 브런치 생성 후 작업(수정, add, commit, push) 후 github에서 PR 날리면 코드 리뷰 후 수정 요구 있으면 다시 작업(수정, add, commit, push)하면 해당 PR에 수정 커밋이 추가됨.

PR이 받아들여지면 해당 PR 상태는 닫힘으로 변경 되고 해당 브런치는 안전하게 삭제할 수 있다고 뜸.

‘Pull request successfully merged and closed’ 라는 메시지가 있고 해당 브런치를 닫을 것인지 묻는 버튼이 있음. 이거 누르면 ‘Pull request closed’로 메시지 바뀌고 브런치도 삭제 됨.

그럼 github fork 저장소의 master는 수정한 가지 변경점과 원본(upstream)의 변경점이 반영 안되어 있음. 로컬 저장소 master 를 업데이트 해줘야 함.

git remote add upstream '원본저장소 clone용 주소'
git pull upstream master  # 원본 저장소 내용을 로컬 저장소 master에 반영
git push                       # 로컬 저장소 내용을 github fork 저장소에 반영

결론: Fork 한 저장소의 Branch 내역은 원본 저장소에 반영 안 된다(PR로 들어온 내역을 반영 했다는 내용만 남음)