Git單檔案多次提交的cherry pick

2021-10-02 03:42:03 字數 902 閱讀 2239

曾幾何時,你發現你做的專案經常有甲方爸爸需要***定製版

「一堆定製版,你讓我們怎麼維護。我們是有骨氣的程式設計師,安能摧眉折腰事權貴。」

「這個專案據說有2000萬」

「明天給你驗收包」

於是你的倉庫裡面就充滿了各式各樣的定製版分支。從此乙個新功能要和n多個分支。

你的定製版分支custom中測出了乙個bug,而這個bug你在master分支已經修改了.

但是這個修改涉及了好幾個commitmergerequest。cherry-pick可能會引入一些不必要的修改。

如果這個bug只影響了你的某乙個檔案(假設為sample.cs)那麼我們可以用下面這個命令來解救

git rev-list [-num] --reverse master -- sample.cs | git cherry-pick --stdin

這個是乙個管道命令,實際上執行了2條git命令

我們看第一條

git rev-list [-num] --reverse master -- sample.cs

他是說將sample.csmaster上的相關提交,選取最近的(num)個提交,

| git cherry-pick --stdin

說的是從標準輸入裝置中讀取上一條命名輸出的git提交號,進行cherry-pick

這樣所有需要的提交就cherry-pick過來了

本文會經常更新,請閱讀個人部落格原文: ,以避免陳舊錯誤知識的誤導,同時有更好的閱讀體驗。

git忽略檔案提交

在專案根路徑下配置.gitignore檔案,在這個檔案裡配置不需要提交的檔案即可,具體的規則可以上網找,這裡給自己做個記錄。touch gitignore建立了檔案後就可以直接在windows下操作了。gitignore配置內容如下 bin target bak settings classpath...

Git命令提交檔案

首先檢查本地倉庫當前狀態,顯示更改的檔案 如圖所示顯示有乙個檔案test.txt被修改 執行add命令 git add test.txt發現檔名變綠色,說明加入暫存區成功 git commit在彈出的文字編輯器中輸入提交的內容,然後 wq退出 將檔案提交 然後進行遠端推送 注意推送的分支名稱 bra...

git提交檔案操作

在使用git前解釋一下相關概念 git提交分為四部分 本地檔案 快取區 本地倉庫 遠端倉庫。整個上傳流程就三步 1.先進行git add xx操作將本地檔案新增到快取區 2.再進行git commit xx 操作將快取區的檔案提交到本地倉庫 3.最後再git push u origin xx操作將本...