壓扁Git提交

我每天都使用Git,並且寫了Git指南和一個Git備忘單在過去。

我認為自己是Git的粉絲,但是…我不是Git的專家。

提交,獲取原點,拉原點,壓入原點..這就是我每天使用Git的時間。

而我呢一些Git:

Git可以做的高級事情讓我震驚。它可能非常複雜,我傾向於避免所有這些複雜性。我幾乎從不在命令行中使用Git,而是使用GitHub桌面這是有史以來最簡單,最出色的Git客戶端。

我有時做的兩件事是採摘櫻桃擠壓提交

讓我們來談談。

在我是唯一開發人員的項目中,這意味著我所有的個人項目,我都會在可能的情況下傾向於使用master。例如,如果我要進行簡單的更改,或者將新帖子添加到博客中。快速且不間斷的東西。

但是,在某些情況下,我不使用這種方法,而是為大型功能創建了一個分支。

這也是基於團隊或開源項目工作時的默認設置。

您創建一個分支,並經常提交。儘早且經常進行提交是一個很大的優勢,因為您可以放心地編寫代碼,使您始終可以返回到工作狀態,或者至少返回到您知道某些工作有效的狀態。

您可能會執行一系列快速提交,其中消息為“確定”,“嘗試此操作”或“修復愚蠢的錯誤”。

但是在某些時候,您需要收斂到穩定狀態並將更改提交回master或您想要的任何分支。

在此之前,您想做一件事:壓縮提交。

的GitHub可以在合併“合併請求”時為您自動執行此操作,而這是我過去在公共開放源代碼存儲庫中經常使用的工作流程。

您只看到一個提交,而不是看到“拉取請求”中包含的所有單個提交,並且在PR合併過程中,您可以編寫詳細且專用的提交消息和描述。

這將消除先前所有與合併分支的分支不同的Git提交,並刪除所有您可能還原了更改的提交,依此類推。

這正在壓榨GitHub PR流程。您也可以在GitHub之外壓縮提交。

在分支上完成工作後,將母版(或您要合併的任何其他分支)合併到其中:

git merge master

因此您可以在那里處理任何更新衝突。

然後您檢出master,然後從那裡運行:

git merge --squash <your-feature-branch>

接著

git commit

這只是您可以使用的可能工作流程之一,並且使用GitHub完成所有工作非常簡單,並且該選項可以使您頭疼最少。


更多git教程: