每次,我看到merged
狀態對我在Gerrit的變化和我做git pull origin
,我可以清楚地看到,我的變化/分支並沒有實際合併到主。分支/更改沒有合併,雖然Gerrit聲稱,它是
請查看我的格里特的工作流程,並告訴我,我在做什麼錯誤或我缺少什麼:
創建本地&結賬分支。
git checkout -b 77-blah
做魔術和評論的所有變化。
git commit -am "changes to 77-blah"
創建使用的用戶界面和其修訂設置
HEAD
同一分支(這should be automated soon)。推變化(即特定分支),以格里特,在適當的裁判裁判:
git checkout 77-blah
git push origin HEAD:refs/for/77-blah
訪問URL,格里特給我,請查看我的改變或等待別人審查它。
再次訪問更改的URL,請確保
Status = Merged
。從格里特拉最新變化:
git checkout master
git pull origin
最後一個命令的結果與Already up-to-date
,這(如果我不傻)意味着,我的主人是結束最新。在正常的Git回購中,在這一點上,這將是真實的。我的master
分支會變成最新的,我最新的(77-blah
)分支已經合併到它。
在Gerrit上,我刷新了我目前正在工作的網頁(當我在master
上時),只是爲了發現在特定分支中引入的所有更改都已消失,並且整個網站處於狀態然後創建最新的分支。 Gerrit 只聲稱,我的master
是最新的。
而且我可以證實的是,通過執行git branch -d 77-blah
和獲得的結果是:
error: The branch '77-blah' is not fully merged.
If you are sure you want to delete it, run 'git branch -D 77-blah'.
其實,我必須合併本地我的最新分支手動。我錯過了什麼?
是什麼意思(在格里特而言),其變化合併,而它實際上不合並呢?
所以,你說我可以創建儘可能多的本地分支,但總是使用'refs/for/master'並始終只推送主分支,並且不創建任何遠程分支?但是,如果我這樣做,我會遇到依賴關係的問題,並且在放棄更改時我會遇到很多麻煩](http://stackoverflow.com/q/20496959/1469208)。有人告訴我,使用分支機構解決了這個問題,因爲從一個分支機構放棄更改不會影響其他分支機構的更改。這是如何與你在這裏陳述的?生活的問題是:在Gerrit中分支還是不分支? :] – trejder
如果您爲每個獨立更改啓動一個新的_topic分支_,您將不會以任何intercommit依賴關係結束。如果你仔細想想,當你推送一個或多個提交來檢查時,你本質上是分支存儲庫。只是你的分支是隱含的,短暫的,並且沒有用來附加名字。 –
即使我每次更改每個主題分支,我仍然只需要推'master'分支(帶'--all'參數?)並始終使用'refs/for/master'?我是否正確地獲得這些東西? – trejder