2017-10-12 105 views
0

我們在團隊中使用Git來管理我們的代碼庫。如何在git merge commit中不失工作

偶爾,我注意到我們有些情況下特定的代碼更改丟失。我已經追蹤問題下來,似乎被合併造成的承諾:

  1. 開發人員在從出發地到他的本地回購的變化拉動。

  2. 合併提交已完成。由於這不是自動提交的(默認情況下),開發人員會更改合併提交(例如:放棄特定的代碼文件更改)。

  3. 開發人員推動起源。

什麼是保護自己免受這種情況的正確方法?

另外,如何以最簡單的方式恢復丟失的更改?我通常只是再次手動應用更改。

+0

您可以在合併完成之前始終回滾到提交。 – lilezek

+1

由於合併衝突處理不當,最有可能失去工作。 – hspandher

+1

通常,開發人員不應該放棄合併提交的更改。 – crashmstr

回答

1

我認爲在這種情況下,你應該避免合併提交。這意味着你只需要衍合工作在遠程分支的頂部,只要你拉,例如:

git pull origin master --rebase 

您可以配置這是您的.gitconfig默認。

+0

這種方法有什麼缺點嗎? –

+0

你不能修改文件來做到這一點,所以你可能需要隱藏你的修改並在完成之後去除它們。如果你的團隊在合併衝突中掙扎,這不會是一個神奇的解決方案。不過,我認爲這更直接,因爲開發人員將在git存儲庫中已有的工作之上添加他們的工作。 – Axnyff