鑑於兩個分支,一個接一個的子集文件的更改 - 在第一文件更改第二永久忽略對合並其中開發UN-階段文件,然後承諾合併的其餘部分。混帳 - 合併差永久忽略子分支
AKA - 的代碼段,應在子分支,因爲合併差忽略。這只是最近在一個大型開發環境中發現的,在這個環境中,重複使用這個錯誤導致子分支中缺少文件。 如何找到缺少主分支更改的提交/文件?或者至少試圖解決這個問題(超過4個月的時間和數百次提交)。我們試圖挑選我們可以找到的承諾,但無疑將無法找到所有承諾。
細節上如何重現此
- 創建兩個文件 - 在每個文件寫兩行
- 提交他們掌握
- 創建第二支
- 切換到第二個分支 - 修改在第二文件文件線
- 階段和提交
- 切換到第一個分支 - 修改同一個文件行的第一個分支衝突
- - 在文件中並沒有修改之前,換行
- 切換到第二個分支和合並第一支
- 修復衝突和舞臺文件 - >然後unstage非衝突的文件
- 提交第二支
- 切換到第一分支和丟棄局部變化
- 做一些新的代碼不影響第6步。
- 階段和提交新的代碼
- 切換到第二分支和合並第一分支
注意,步驟而步驟6仍然缺少出現10次更改。因爲混帳相信他們的提交已合併所有後續的合併會忽略從第6步的變化(雖然真正的在混帳的眼睛 - 它不會爲開發工作,因爲合併是錯誤的,不應該被提交)
尼斯腳本。 +1。你用什麼語言做了那個exe?你在包裝git命令嗎? – VonC
@VonC - 我用C#。不包裝git命令,我使用LibGit2Sharp。 –