?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
git-merge-file - 運行三路文件合并
git merge-file [-L <current-name> [-L <base-name> [-L <other-name>]]] [--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>] [--[no-]diff3] <current-file> <base-file> <other-file>
git merge-file
將從<base-file>
to <other-file>
導入的所有變化合并到一起<current-file>
。結果通常會進入<current-file>
。git merge-file
對于將單獨的更改組合到原始文件非常有用。假設<base-file>
是原來的,都<current-file>
和<other-file>
都進行修改<base-file>
,然后git merge-file
結合了變化。
如果兩者都發(fā)生沖突<current-file>
并且<other-file>
在共同的線段中發(fā)生變化。如果發(fā)現(xiàn)沖突,git merge-file
通常會輸出一個警告,并將沖突與包含<<<<<<<和>>>>>>>標記的行進行括號。典型的沖突將如下所示:
<<<<<<< A lines in file A=======lines in file B>>>>>>> B
如果有沖突,用戶應編輯結果并刪除其中一個選項。然而,當--ours
,--theirs
或--union
選項有效時,這些沖突分別有利于分別來自<current-file>
線段<other-file>
,來自線段或來自兩者的線路。沖突標記的長度可以通過--marker-size
選項給出。
該程序的退出值對錯誤為負值,否則沖突的數(shù)量(如果存在多次沖突,則截斷為127)。如果合并是干凈的,則退出值為0。
git merge-file
被設計成是 RCS merge
也就是的最小克隆;這就說,它實現(xiàn)了 git 所需的所有 RCS merge
功能[1]。
-L <label>
此選項最多可以放三次,并指定標簽用于替代沖突報告中的相應文件名。也就是說,git merge-file -L x -L y -L z a b c
生成的輸出看起來好像來自文件x,y 和 z,而不是來自文件a,b 和 c。
-p
將結果發(fā)送到標準輸出而不是覆蓋<current-file>
。
-q
安靜; 不要警告沖突。
--diff3
以“diff3”風格顯示沖突。
--ours --theirs --union
而不是在文件中留下沖突,解決有利于我們(或他們或兩者)方面的沖突。
git merge-file README.my README README.upstream
將自 README 后的 README.my 和 README.upstream 的更改結合起來,嘗試合并它們并將結果寫入 README.my。
git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345
將tmp / a123 和 tmp / c345 與基本 tmp / b234合并,但使用標簽a
和c
而不是tmp/a123
和tmp/c345
。