2014-04-12 3 views
6

git 작업 영역을 다른 디렉토리와 동기화하는 표준 방법이 있습니까? git 버전 제어하에있는 디렉토리가 있다고 가정합니다. 해당 디렉토리는 오프 사이트로 이동하여 변경되고 완료됩니다 (파일은 변경, 추가 및 삭제됨). 그런 다음 내 컴퓨터로 돌아갑니다. 이러한 모든 변경 사항을 어떻게 git에 쉽게 통합 할 수 있습니까?git 작업 영역을 다른 폴더와 동기화하십시오.

그냥 파일을 복사하면 새 파일과 변경된 파일은 괜찮지 만 제거 된 파일에 대한 정보는 손실됩니다. 디렉토리가 자식 밖에있는 동안 제거 된 파일에서 쉽게 git rm을 수행 할 수있는 방법이 있습니까?

답변

4

당신은 git command 자체의 --work-tree 옵션을 사용할 수 있습니다 : 새 감지

cd /path/to/your/local/repo 
git --work-tree=/path/to/your/other/directory status 
git --work-tree=/path/to/your/other/directory add -A . 
git checkout . 

제거 파일을 수정했습니다.
방금 ​​업데이트 한 색인과 자신의 로컬 작업 트리를 동기화하려면 Mike Lippertanswer에 마지막 명령이 나와 있습니다.

그런 식으로, 당신은 비교됩니다

  • (당신이 git를 실행하는) 현재의 repo의 인덱스합니다 (--work-tree 옵션에 의해 참조) "another/directory"
  • 의 내용
5

VonC의 대답은 원하는 부분의 첫 부분과 같습니다.

--work-tree 옵션은 그러나 색인 로컬 (원본) 디렉토리와 다른 git --work-tree=/path/to/your/other/directory add -A .을 실행 한 후 git(1) Manual Page

에 설명되어 있습니다. 오프라인 디렉토리의 모든 변경 사항을 포함하는 색인과 로컬 디렉토리를 일치 시키려면 git checkout .을 실행하십시오.

git --work-tree=/path/to/your/other/directory add -A . 
git checkout . 
+0

+1. 좋은 지적. 내 대답에는 체크 아웃 단계도 포함되었습니다. – VonC

관련 문제