2011-01-18 3 views
3

일부 팀원과 함께 프로젝트 작업을하려고하며 git을 소스 컨트롤로 사용하고 있습니다. 중앙 저장소는 Dropbox에 있으며, 우리 모두가 액세스 할 수 있습니다.Dropbox 저장소 문제에 대한 책임 커밋

나는 새로운 자식이지만, 모든 설정을 돕기 위해 여기에 몇 가지 지침을 발견했다. 나를 위해 그것은 작동하지만 내 팀 메이트들이 커밋/푸시하려고 할 때 파일을 업데이트하지 않습니다. 여기에 우리가 다음에 한 단계입니다 :

나는이 한 :

~/project $ git init 
~/project $ git add . 
~/project $ git commit -m "first commit" 
~/project $ cd ~/Dropbox/git 

~/Dropbox/git $ mkdir source.git 
~/Dropbox/git $ cd source.git 
~/Dropbox/git $ git init --bare 
~/Dropbox/git $ cd ~/project 

~/project $ git remote add origin ~/Dropbox/git/source.git 
~/project $ git push origin master 

그런 다음 내 컴퓨터에 내가있는 test.txt를 만들어 그 안에 물건을 넣어했다 :

~/project $ git add . 
~/project $ git commit -m "second commit" 
~/project $ git push 

변경 사항이 내 컴퓨터에서 Dropbox 저장소로 옮겨졌습니다.

~/Desktop $ cd ~/project 
~/project $ git clone -o dropbox ~/Dropbox/project/source.git 
다음

가 자신의 컴퓨터에있는 모든 파일을 가지고,하지만 그들은 TEST.TXT를 업데이트 할 때, 커밋 푸시, 드롭 박스는 test.txt 파일 ISN '

지금 내가이 일을 나의 친구에게 업데이트되었습니다. .git 파일은 새 커밋을 표시하도록 업데이트되지만 저장소의 test.txt 파일에는 변경 내용이 표시되지 않습니다.

무엇이 잘못 되었습니까? 감사합니다.

+0

'.git 파일이 새로운 커밋을 표시하도록 업데이트됩니다. '- 커밋에 대해 무엇을 말하는가? 그것은 비 었는가? –

답변

2

당신은 아무런 잘못도하지 않고 있습니다. 저장소 (기본적으로 .git) 디렉토리와 작업 사본 (편집하는 파일)은 서로 다른 두 가지입니다. push은 저장소 만 업데이트하지만 작업 복사본은 업데이트하지 않습니다. 작업 카피는 자동적으로 업데이트되지 않는 좋은 이유가 있습니다 (이미지는 직장 동료가 당신의 저장소로 푸시했기 때문에 작업을 잃어 버릴 수 있습니다).

작업 복사본을 업데이트하는 후 수신 후크를 설치하려면 후크에 대한 Git 문서를 읽으십시오.

+0

그는 그가 업데이트되지 않은 저장소 파일에 대해 이야기하고 있다고 생각합니다. 로컬 작업 복사본이 아닙니다. – Jimmy

+0

지미가 옳습니다. 리포지토리 파일이 업데이트되지 않았습니다. 예상 한 것입니다. 나는'git fetch'를하지 않으면 작업 파일이 업데이트 될 것이라고 기대하지 않습니다. – robev

+0

그래, 분명히 작동하고 있습니다. 나는 오해했습니다. 이 대답은 유용했습니다. – robev

0

git repo에 Dropbox를 사용하지 마십시오. 결과적으로 개별 파일에 충돌이 발생하여 해결이 불가능할 것입니다. unfuddle.com, github 등과 같은 실제 자식 repo를 사용하십시오.

그 이상의 경우, 가능한 경우 git 자습서를 실행하십시오.