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