2012-07-25 5 views
0

두 컴퓨터에서 git 저장소를 사용합니다. 필자는 데스크탑에서 몇 가지 테스트를 실행하여 브랜치 X를 작성한 다음 마스터 브랜치에서 일부 작업을 수행하고 패치를 작성하기 위해 커밋을 스태킹하고 X를 리베이스해야했습니다. 그런 다음 원격 리포에 변경 사항을 강제 적용했습니다.Git 리베이스 후 빨리 감기 오류가 발생했습니다.

나중에 내 노트북에 복제본을 복제하고 일부 변경 작업을 수행했지만 지금은 빨리 감기에 대한 불만 사항을 제기하려고 할 때 내가 git-pull을해야합니다. 그리고 squashed/edited 커밋을 다시) 내가 원 래 저장소에있는 내 랩톱에서 내가 가지고있는 repo의 클론을 갖고 싶다.

그래서 질문은 강제 선택 만 할 수 있는가?

+0

역사를 다시 작성하면됩니다. 나는 사람들이 왜 '자식 재 기지 화'를 좋아하는지 이해하지 못한다. 그것은 나에게 끔찍한 생각처럼 보인다. – Shahbaz

+0

흠 당신이 공동 프로젝트를 추적하고 마스터 브랜치가 자주 업데이트되거나 다른 사람들의 브랜치가 자주 업데이트되는 경우 가장 최근 작업을 리베이스하여 자신의 작업이 올바르게 작동하는지 확인하십시오. – ndp

+0

** 또는 ** 마스터를 지사와 병합하여 물건이 제대로 작동하는지 확인할 수 있습니다. 사실, 최종 결과는 동일합니다. 단지'git-rebase'로 변경되는 역사 일 뿐이며 현재 충돌 한 문제는 말할 것도없이 갈등을 해결하는 것이 더 어렵습니다. 당신은 지금까지는 (모든 사람의 역사를 엉망으로 만들기 때문에) 어떤 리모콘에 리바이스 된 브랜치를 절대로 밀어 넣으면 안된다는 것을 알아야한다. – Shahbaz

답변

1

원격 시스템의 지점을 랩톱에서 정확히 같게 설정하고 차이점을 없애려면 : git push -f 정확히 수행하십시오. 로컬 브랜치의 상태를 원격 레포로 푸시하고 원격 브랜치를 방금 푸시 한 것의 팁으로 강제 설정합니다. 로컬 브랜치 나 다른 곳에서 참조되지 않은 원격 브랜치를 커밋하면 커밋되지 않습니다.

관련 문제