2013-04-04 89 views
3

我正在和一位朋友一起使用遠程git工具bitbucket.org處理項目。到目前爲止,我們已經在不同的時間在主分支上工作,然後提交併將這些更改推送到遠程站點供其他人使用。害怕git提交和推送會意外覆蓋更改

現在,他在我自己的工作中承諾並將他的更改推送到存儲庫,並且如果我推出我的提交,它將完全重寫他的提交。我的恐懼是否正確?我想我應該創建一個新的分支,將他的更改提取到主分支中,然後合併這兩個分支,然後推送。這是一個好策略嗎?或者我無所事事。一點建議會很好。

回答

3

VCS的整個想法是,您不會通過這樣做來破壞數據。您可以嘗試推送,如果您的代碼不同步,您會被告知必須接受上游更改才能提交。

一旦你接受了更改併合並它們,你就可以將你的代碼應用到HEAD。

+0

這就是我想的。我剛纔在重要的代碼方面犯了一些令人遺憾的錯誤,我不願意失去改變。 – nook 2013-04-04 03:23:33

+1

可能想要提及的是--force會覆蓋這種行爲並在使用時非常謹慎。 – Infiltrator 2013-04-04 03:38:14

+0

強調非常!您銷燬的所有更改仍可以使用git reflog恢復。 =] – 2013-04-04 03:39:52

1

一般情況下,這不應該發生,但你必須注意。例如,如果您朋友的代碼和您的代碼之間存在衝突,那麼您應該注意您是如何解決衝突的。 (也就是說,不要盲目地接受你的朋友或你自己的版本 - 你可能需要手動解決衝突。)

你可能會練習故意改變同一個文件,以獲取更多的東西。