我們在團隊中使用Git來管理我們的代碼庫。如何在git merge commit中不失工作
偶爾,我注意到我們有些情況下特定的代碼更改丟失。我已經追蹤問題下來,似乎被合併造成的承諾:
開發人員在從出發地到他的本地回購的變化拉動。
合併提交已完成。由於這不是自動提交的(默認情況下),開發人員會更改合併提交(例如:放棄特定的代碼文件更改)。
開發人員推動起源。
什麼是保護自己免受這種情況的正確方法?
另外,如何以最簡單的方式恢復丟失的更改?我通常只是再次手動應用更改。
我們在團隊中使用Git來管理我們的代碼庫。如何在git merge commit中不失工作
偶爾,我注意到我們有些情況下特定的代碼更改丟失。我已經追蹤問題下來,似乎被合併造成的承諾:
開發人員在從出發地到他的本地回購的變化拉動。
合併提交已完成。由於這不是自動提交的(默認情況下),開發人員會更改合併提交(例如:放棄特定的代碼文件更改)。
開發人員推動起源。
什麼是保護自己免受這種情況的正確方法?
另外,如何以最簡單的方式恢復丟失的更改?我通常只是再次手動應用更改。
我認爲在這種情況下,你應該避免合併提交。這意味着你只需要衍合工作在遠程分支的頂部,只要你拉,例如:
git pull origin master --rebase
您可以配置這是您的.gitconfig默認。
這種方法有什麼缺點嗎? –
你不能修改文件來做到這一點,所以你可能需要隱藏你的修改並在完成之後去除它們。如果你的團隊在合併衝突中掙扎,這不會是一個神奇的解決方案。不過,我認爲這更直接,因爲開發人員將在git存儲庫中已有的工作之上添加他們的工作。 – Axnyff
您可以在合併完成之前始終回滾到提交。 – lilezek
由於合併衝突處理不當,最有可能失去工作。 – hspandher
通常,開發人員不應該放棄合併提交的更改。 – crashmstr