그림의 현재 상황. 녹색 분기가 마스터입니다. 마지막 3 가지 커밋을 마스터에서 분홍색 분기로 복사하는 방법은 있지만 마스터는 건드릴 필요가 없습니다.마지막 커밋을 마스터에서 지점으로 복사합니다.
답변
브랜치 (그리고 개인 프로젝트 브랜치)를 기다리고 싶다면 (분홍색에서) git rebase master
을 사용할 수 있습니다. 그러면 분홍색 커밋이 사라지고 pink
을 29934b6으로 이동 한 다음 패치를 다시 적용하십시오.
그렇지 않으면 Amber의 git merge
이 아마도 가장 좋은 답변 일 것입니다.
각 변경 사항에 대해 또 다른 가능성은 (다시 "핑크"에서) git cherry-pick 9a51fd2; ...
입니다. 그러면 개별적인 새로운 분홍색이 만들어집니다. 분기 이름을 master
, master^
및 master^^
으로 지정할 수도 있습니다.
git checkout <name of pink branch>
git merge master
정확히 (어디 있는지 자체를 분홍색 지점에 master
에서 3 커밋을 병합하지만 master
를 떠나) 원하는 것을 할 것입니다.
비선형 히스토리로 이어질 것이므로 반드시 좋지는 않습니다. 다른 옵션은'cherry-pick'을 사용하거나, 더 적절하게 마스터에 분홍색 분기를'rebase'하는 것입니다. –
비선형 기록은 정상입니다. Git은 본질적으로 비선형 인 역사 작업을 위해 설계되었습니다. Rebase는 Git 내부를 잘 이해하지 못하는 사람들보다 더 많은 문제를 일으키는 경향이 있습니다. – Amber
@AlexanderGladysh : 비선형 역사의 문제점은 무엇입니까? 변경 사항을 정확하게 나타냅니다. –
- 1. 마스터에서 원격 지점으로 변경 git
- 2. 마지막 커밋을 실행 취소합니다.
- 3. 힘내 : 마스터에서 다른 브랜치로 커밋하기
- 4. GIT : 마지막 커밋을 되 돌리시겠습니까?
- 5. 마지막 n 커밋을 롤백하는 방법
- 6. datacontext를 마지막 submitchanges 지점으로 롤백하는 방법
- 7. 힘내 - 다른 지점으로 모든 커밋을 전송하고 새로운 마스터를 생성
- 8. 모든 커밋을 지점에서 다른 지점으로 이동하는 방법은 무엇입니까?
- 9. github 마스터에서 서버를 실행하십시오.
- 10. Git으로 마지막 커밋을 임시로 제거하는 방법?
- 11. github가 마지막 9 개의 커밋을 표시하지 않습니다.
- 12. 다른 Nit git 커밋을 재생하십시오.
- 13. 리베이스의 병합은 커밋을 덮어 씁니다.
- 14. mysql 복제 - 마스터에서 슬레이브
- 15. 오류 : 실행이 마스터에서 업데이트에서
- 16. 체리 하나에서 다른 지점으로 선택하는 방법
- 17. git이 브랜치를 지웠지 만 마스터에서 계속 변경되었습니다.
- 18. 병합 된 커밋을 포함하여 마지막 병합 이후 디스플레이 커밋
- 19. BLOB/트리 해시를 기반으로 마지막 관련 커밋을 찾는 방법?
- 20. Grit 커밋은 Git Repo에서 마지막 커밋을 무시하는 것 같습니다.
- 21. 되 돌린 커밋을 어떻게 병합합니까?
- 22. 마스터에서 ASP.Net MVC 인증 확인
- 23. 트렁크에서 지점으로 병합하는 SVN
- 24. 원격 지점으로 체크 아웃
- 25. 트렁크에서 지점으로 병합
- 26. 개체를 지점으로 이동
- 27. 트렁크에서 지점으로 커밋 복사
- 28. 파일 자체를 Java로 복사합니다.
- 29. 중첩 된 사전을 복사합니다.
- 30. 배열을 Java의 값으로 복사합니다.
마침내'merge'를했는데'cherry-pick'에 감사드립니다 :) – marioosh