2011-05-27 27 views
9

我一直愉快地開發一個分支,每一天每一天基礎重建從主用:git的變基問題

git rebase master 

今天,當我做了一個變基高手,我得到以下信息:

回落至修補基地和 3路合併...

底墊帶我通過合併同一套音響的一個非常漫長的過程一遍又一遍。它指出「補丁失敗,在001」和一直持續到044

我已經完成了底墊和推分支到遠程之後,我再次進入底墊命令而不做任何修改代碼:

git rebase master 

然後它再次帶我通過完全相同的rebase。至於發生了什麼,我完全迷失了方向。我只是想將主程序中的錯誤修復應用到這個分支,而不是每次都經歷這個過程。

任何人都可以幫助我瞭解正在發生的事情。每次我從主人身上重新擺脫,我都不想這樣做。

+0

也許你想看看這裏:http://stackoverflow.com/questions/4215726/from-git-to-svn-failed-to-merge-in-the-changes – 2011-05-27 13:58:15

+0

有可能有人做了一些不應該完成的事情,在你正在重新分配的主分支上。這些東西是改變過去歷史的命令,比如「修改」等... – 2011-05-27 14:00:10

+0

以這種方式沒有改變歷史 – dagda1 2011-05-27 14:01:34

回答

4

使用git rebase連續重新綁定到另一個分支上,這是Git通常希望工作的方式。你應該做的是將master每隔一段時間合併到你自己的開發分支中。這將使您的開發分支與master之間的更新保持一致,並將保留您自己的開發落實master分支。

如果你不希望有一堆合併的從主在你的開發分支,使用git rerere的功能,並做到:

 
git merge master 
git reset HEAD~ 

隨着git rerere啓用,它將如果記錄您的合併決議有任何衝突,以便你以後不會有巨大的衝突。

+0

我認爲合併到開發分支並重新綁定到主服務器上很有意義。 – dagda1 2011-05-27 14:15:03

+0

以爲'rerere'是錯字,但很高興能夠發現這是一個對我來說非常有用的命令。 – Jayesh 2013-02-11 17:11:45

+0

此命令是否僅在本地保存合併分辨率,或者它們可能會被推送到服務器,因此其他人可以使用它們進行合併? – dk14 2014-10-21 22:49:13