2012-10-17 2 views
0

나는 힘내에서 매우 익숙하다. 저장소를 만들고 마스터 분기에 일부 파일을 추가했습니다. 그 후, 매번 특정 서브 프로젝트에 대해 작업하고 싶었습니다. 예를 들어, "csv_reader_branch", "datetime_object"와 같은 이름으로 "create new branch"를 수행했습니다.힘내 : 지점에서 수행 한 작업으로 마스터 업데이트

이제 나는 많은 가지를 가지고 있고 그 가지를 마스터 가지로 밀어 내고 싶습니다. 일반적으로 프로젝트는 중복되지 않지만 병합 전에 비교할 수 있기를 원합니다.

가장 좋은 방법은 무엇입니까?

추신 : 나는 또한 많은 유사한 질문에 "포크"언급을 참조하지만 로컬로 자식을 실행하고 github 메뉴에서 "포크"를 찾을 수 없습니다. 내가 놓친 게 있니? git diff branchname files

감사

답변

1

당신은 저장소의 다른 지점으로 현재 분기를 비교할 수 있습니다.

브랜치의 변경 사항을 마스터에 적용하려면 마스터 브랜치에 체크 아웃하고 git merge branchname을 사용해야합니다. 또 다른 가능성은 특정 커밋을 "체리"로 선택하는 것이지만, 체리 선택 커밋 만 적용되는 것이 아니라 지사가 마스터와 분리 된 이후의 모든 커밋이 적용된다는 경고입니다.

하나의 커밋 만 적용하려는 경우 분기에 git format-patch을 사용하고 생성 된 파일을 대상 분기에 git apply과 같이 적용해야합니다.

편집 : 나는 잊고, git rebase를 사용하는 대신 git merge와 4 가능성이있어하지만 솔직히, 나는 자식을 사용하여 정말 좋은되기 전에 그것을 사용하는 피할 것이다.

어떤 경우에도 파일의 동일한 부분이 2 개의 분기에서 편집되었을 때 발생하는 병합 충돌을 해결하는 것이 어렵습니다.

+0

답변 해 주셔서 감사합니다. 병합에서 Eclipse를 사용하여 Merge를 사용했지만 병합하기 전에 차이점을 검토하지 않았습니다. 왜 그런지 알아? – user1176316

+0

죄송합니다. Eclipse를 사용하지 않습니다. 명령 줄에서 Solaris에서 git을 사용합니다. –

+0

어쨌든 도와 주셔서 감사합니다. – user1176316

관련 문제