git rebase
을 사용하여 master 브랜치의 기능을 깨끗하게 병합합니다 (커밋 수를 줄이거 나 적어도 변경 로그 맨 위에 표시). 저장소에있는 유일한 사람은입니다.Git rebase를 푸시/풀하는 방법
이 Git workflow and rebase vs merge questions을 읽은 후, 나는 git rebase
꽤 좋은 미가처럼 내가 다른 장소에서 그들을 일하고 있어요 단순히 때문으로 업데이트 변경을 git push
하고 싶은 것 발견 (예 : 내 노트북, 내 집, 다른 PC 어딘가에 ...)
그래서 여기에 양방향 추한 병합에 대한 두 가지 솔루션()입니다
- 가 밀어
git push -f
를 사용하고 다른 컴퓨터에 당겨,하지만 얼마나 깨끗하게 최신 버전을 다운로드합니다 다른 기계에? - 기능 지점, 자식 푸시/풀, 한 번 성숙, (하나 이상의 깨끗하게 커밋) 단일 REBASE을
(2) 다음과 같은 것까지 마스터 변경 병합 병합 사용 :
를git co -b feature-a
... change files
git push origin feature-a
... moving to another PC
git pull origin feature-a
... change files
git merge master
... change files (not the "special rebase")
git rebase master
git co master
git merge feature-a
git branch -d feature-a
git push origin :feature-a
어떤 솔루션이 효과가 있습니까? 나는 지금까지 (대부분 내 로그를 더 지저분하게 만드는 것에 대한 두려움 때문에) 그들 중 어느 하나도 시도하지 않았다.
내 제안에 옵션 (2)처럼 보입니다. – Wernight
"가지에 변화를 요리하게하십시오." 이 의견을 이해할 수 없습니다. 그는 이미 새로운 변경 사항에 대해 주제 분기를 사용하고 있습니다.질문의 핵심은 당신 주위에있는 모든 사람들을 괴롭 히지 않고 원격 브랜치 (branch)와 리베이스 (rebase)를 결합하는 방법 인 것 같습니다. –