我有一個場景,其中一位開發人員創建了一個分支,對檔案進行了更改并將更改提交到 git。同時,另一個開發人員創建了一個不同的分支,在檔案中的另一個位置對同一個檔案進行了更改,并將更改提交給了 git。兩個分支都合并了。為什么最初的開發人員變更消失了?git 不應該應用所有更改嗎?
uj5u.com熱心網友回復:
當出現這種沖突時,通常會在合并程序中提出一個問題,例如:“需要解決沖突。解決它并提交更改”。然后,在相關檔案中,沖突中的不同部分用提交的 id>>>>>>>>>>和<<<<<<<<<提交的 id 分開。
然后開發人員需要解決沖突并提交合并。開發者有可能說resolve using our versionor resolve using their version。這很粗糙,因為那時其他更改被完全忽略了。
在這方面,我會說這不是 git 或 gitlab 的問題,而是以懶惰的方式(resolve using our version)合并提交的開發人員不知道他在做什么和含義......
如果您需要恢復被忽略的更改,則必須在合并之前回傳提交,并手動解決(您也可以嘗試再次合并分支)。
我建議您在解決沖突時使用可視化編輯器(例如“融合”或“崇高合并”)。
uj5u.com熱心網友回復:
我認為可能與否,但這是一個 git 問題,而不是 gitlab。因此,如果您合并第一個開發人員的代碼,然后第二個......第一個代碼消失了,原因是:他們修改了相同的代碼塊并發生沖突,您忽略第一個代碼,使用第二個。
uj5u.com熱心網友回復:
聽起來像是一個糟糕的合并,當合并具有相同檔案的分支時,檔案應該發生沖突,然后您可以在 VSCode 或任何其他 IDE 中查看。然后,您想在任何更改的部分上方“接受兩項更改”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/419596.html
標籤:
上一篇:gitclean-x選項
下一篇:預提交不使用虛擬環境
