2012-11-20 2 views
4

큰 자식 프로젝트가 있습니다. 다른 사람이 동일한 C 프로젝트를 가지고 있지만 git을 사용하지 않습니다.비어 있지 않은 폴더에 git repo를 복제하십시오.

우리 모두는 동일한 기준선에서 시작했지만 간단히 git init/git add .을 입력하고 git를 사용하기 시작했습니다.

git이 관리하는 변경 사항을 다른 브랜치에 병합하고 프로젝트 폴더에 init git을 병합하여 git를 동기화하고 git을 사용하고 싶습니다.

어떻게하겠습니까?

+0

[비어 있지 않은 디렉토리에 복제하는 방법] 가능한 복제본 (https://stackoverflow.com/questions/2411031/how-do- i-clone-into -a-non-empty-directory) –

답변

5

친구가 $ git init, $ git add .$ git commit -a 자신의 코드 여야합니다. 당신의 모두 동일한 원격 저장소가 있어야

: $ git remote add origin <your-repository-url>이 (GitHub의에이 https://github.com/username/repository.git 모양을)

당신의 친구가 $ git pull origin master (자신의 지역 하나에 병합 할 원격 지사)

에 그는 $ git push -u origin master이어야하며 $ git pull 일 수 있고 ok이어야합니다.

+0

친구는'git fetch origin master : arjor'를 실행하여 별도의 지점에서 OP의 기여도를 얻을 수 있으며 편의상'git merge arjan' 또는'git rebase arjan' (rebase 물론 아직 푸시되지 않은 경우에만 ...) –

1

먼저 repo를 빈 디렉토리에 복제하십시오.

그런 다음 새 저장소에서 친구 작업을위한 새 분기를 만들고 체크 아웃합니다. 분기 지점은 둘 다 동일한 소스 (아마도 초기 커밋)를 가진 마지막 커밋이어야합니다.

그런 다음 소스를 새 트리에 복사합니다. Git status/diff는 그가 만든 수정을 보여 주어야한다.

해당 지점에서 git commit을 수행해야하며 두 가지 개발 포크가 모두 포함 된 하나의 저장소가 있어야합니다.

git merge master ("master"지사에있는) 작업을 동료 지점에 병합하십시오. 갈등을 해결하고 재미있게 지내면 끝났습니다.

자신의 repo에 변경 내용을 다시 원하는 경우에, 당신은 당신이 기계에 ssh를 액세스 할 경우, ssh:// URL을 사용하여 자신의 repo에서 pull 또는 fetch, 또는 file:/// 직접 볼 수 있습니다 경우 수행.

관련 문제