2013-02-27 79 views
2

我在我的倉庫foo1.c,foo2.c 20個文件,... foo20.c我對foo2.c混帳拉帶部分合並

工作現在,每當我做一個混帳拉中拉並將更改合併到所有foo * .c中,包括foo2.c 我想阻止自動合併在存儲庫中修改的文件。

例如,某人可能在文件的某個位置添加了x = 20,這會覆蓋在文件頂部對x = 0所做的修改。

將Bob的更改與我的更改自動合併會導致難以檢測到錯誤,如果其中一個錯誤有可能隨機重新啓動火星漫遊器,我寧願在合併之前手動檢查每個更改。

所以在這個背景下,我想知道是否有一種方法可以讓我拉取(取+合併)在我的回購庫中未修改的文件,並只提取影響我修改的文件的更改以便我可以做手工DIFF +合併

+0

找到答案http://stackoverflow.com/questions/3122056/how-to-get-3-way-merge-in-git-on-non-conflict-merges – vijayvithal 2013-02-27 07:46:33

回答

1
  1. 不使用全局變量。
  2. 使用代碼審查,而不是做這個..
  3. 或在最壞的情況下,你可以做一個git的差異,看看鮑勃已經改變...
+0

我同意#1 對#2 最初的問題是啓用增量代碼審查。對於我的團隊來說,git pull可以將更改爲100個文件,並且某些文件合併的通知可能會在「噪音」中丟失,因此我正在尋找一種方法,以便在本地更改文件時始終強制衝突並且在服務器上。 例如我當前的版本控制系統給出了一個錯誤消息「合併所需:文件已在本地和服務器上進行了更改」,並將其留給用戶進行diff +合併並提取剩餘的更改。 我不明白#3請你詳細說明。 – vijayvithal 2013-02-27 07:38:04

+0

在當地的分支機構工作,只有在準備好時纔會推。有一個看門人把愛麗絲,鮑勃和查理的成書分支整合到官方出版的分支中。沖洗並重復。 – vonbrand 2013-02-27 20:07:36

1

做的工作在當地的分支機構,只拉入官方分支機構,在準備好時將相應官方(已發佈)分支機構的更改合併/重新整理,並將結果推向上游。沒有「鮑勃的變化融入了愛麗絲的半路完成工作,把所有事情搞砸了,查理從QA吹了一個墊片」。

+1

我同意,你的回答比我的好(這是關於避免合併,而不考慮更大的圖片)。所以,+1。 – VonC 2013-02-27 19:48:49

+0

我會回報你的好感,但我根本不同意你的想法,所以...... – vonbrand 2013-02-27 19:57:12