2014-11-03 157 views
1

我剛開始工作一個相當大的git合併,它顯示約50個文件的衝突。當我使用git mergetool或簡單地去解決Visual Studio中的衝突 - 幾乎所有這些文件顯示0與一些「自動更改」行衝突。我很確定我沒有對這些文件做任何重大更改,如果兩個文件中的相同行都沒有改變 - 我可以在所有這些情況下接受這些合併。除了手動點擊〜50個文件並點擊「接受合併」之外,我找不到一種方法來完成它。我真的寧願在所有可能的文件上執行批量AutoMerge。有沒有辦法用git,vs或其他方式做到這一點?我如何automerge非衝突的衝突

+0

Git * did *做一個automerge。你的線路結束了嗎?你沒有檢查'.gitattributes'嗎?不同的開發者有不同的'core.autocrlf'設置嗎? – 2014-11-03 22:14:26

+0

Git對合並衝突非常保守。例如,如果雙方添加或刪除空行,Git有時會認爲合併衝突,但mergetool不會,因此,當您在mergetool中加載文件時,它不會看到任何衝突。我不知道有辦法解決這個問題。 – 2014-11-03 22:20:54

回答

0

如果您希望接受來自您合併的分支的更改,而不必解決衝突,因爲您確信衝突僅發生在空行/空白/等等,因此您可以考慮使用「他們的」合併策略,選項:

git merge -s theirs branchtomerge 

檢查http://git-scm.com/docs/git-merge,以確保這真的是你想要的。

+0

這實際上並不是我想要的,因爲我可能會在自己的分支中對這些文件進行更改,但是如果更改位於同一文件的其他部分或僅位於行結尾 - 這是VS可以通過文件解析文件的內容基礎。 – 2014-11-04 02:09:44