我的工作流程:git merge(w squash)的任何gui?
- 從主分支在我的分支
- 工作,經常犯(100+)
- 當工作在我的分支完成,合併高手進我的分支,解決所有衝突。合併回掌握
代碼審查之前
我的工作流程:git merge(w squash)的任何gui?
代碼審查之前
它取決於你的操作系統(git Tower,例如Mac OS上,它是一個特別精細的GUI,但不提供任何交互式底座的特殊功能)。該功能的On Windows, there doesn't seem to be any GUI。
最簡單的方法仍然是一個不涉及界面,在這裏你可以因爲你犯消息!南瓜開始(當這些中間提交大約相同的任務),致力於運行
git rebase --interactive --autosquash
這個命令是否永久壓縮項目歷史中的提交,或者只是爲了審查而以這種方式顯示它們? –
@JonathanHartley它會擠壓提交,但是一旦你不需要這個壓扁的提交,你就可以重置。 – VonC
Eclipse可以做比較部分。您可以右鍵點擊該項目,然後選擇
Team->Advanced->Synchronize With...->(branch you want to compare against)
它顯示了兩個分支之間的差異。然而,既不是git也沒有任何我知道的git GUI支持壓縮提交,恕我直言,這太糟糕了。
所以我最終會做一個
git rebase --interactive HEAD~3
(萬一我有3個提交我想壁球)。
可以使用'git difftool'命令在GUI工具中顯示任何'git diff'命令的輸出。
首先, '差異' 命令,我們希望:顯示由每一個引入的累積diff文件提交於 'mybranch',因爲它從 '主' 發散使用:
git diff master...mybranch
或
git diff master...HEAD
請注意,這不包括在此期間發生在master上的任何提交,如果您正在查看mybranch,這可能是您想要的。
如果mybranch是你的現任掌門人,那麼這可以簡寫:
git diff master...
Git會從差異命令的輸出饋入約8個已知的GUI工具列表中的一個,用「混帳difftool」。我在OSX上使用kdiff3,過去我也在Linux上高興地使用它。我更喜歡kdiff3,因爲它可以讓我在需要時進行3路合併,並且可以讓我手動編輯合併輸出,並選擇使用hunks。
首先安裝kdiff3,然後在PATH上添加一個符號鏈接。對我來說,那是:
ln -s /Applications/kdiff3.app/Contents/MacOS/kdiff3 /usr/local/bin/kdiff3
然後告訴你要使用kdiff3作爲GUI的比較工具的git:
git config --global merge.tool kdiff3
然後在其中查看您進行比較:
git difftool master...
我懷疑您不需要顯示兩個分支之間的差異,因爲如果在合併和審閱之間對主數據進行更多的提交,您希望將它們排除在外。可能更好的方法是隻顯示分支上引入的更改,不包括主控上引入的任何更改。然後,您可以隨時合併,而不必在審查前立即執行此操作。 –