Git合并订单的差异?

Chi*_*hin 13 git

两者之间有什么区别吗?

git merge c1 c2
Run Code Online (Sandbox Code Playgroud)

和

git merge c2 c1
Run Code Online (Sandbox Code Playgroud)

?另外,两者之间有什么区别

git checkout c1
git merge c2
Run Code Online (Sandbox Code Playgroud)

和

git checkout c2
git merge c1
Run Code Online (Sandbox Code Playgroud)

?

Sto*_*ica 15

在您描述的所有情况下,文件内容方面的最终结果应该相同.

但是,在所有提交图的提交顺序中,DAG会有所不同,例如:

情况1: git merge c1 c2

*   dd24250 (HEAD, master) Merge branches 'c1' and 'c2'
|\  
| * 9d09bec (c2) change in c2
* | 1f5c0ca (c1) change in c1
|/  
Run Code Online (Sandbox Code Playgroud)

案例2: git merge c2 c1

*   3256c8d (HEAD, master) Merge branches 'c2' and 'c1'
|\  
| * 1f5c0ca (c1) change in c1
* | 9d09bec (c2) change in c2
|/  
Run Code Online (Sandbox Code Playgroud)

案例3: git checkout c1; git merge c2

*   111e7da (HEAD, c1) Merge branch 'c2' into c1
|\  
| * 9d09bec (c2) change in c2
* | 1f5c0ca change in c1
|/  
Run Code Online (Sandbox Code Playgroud)

案例4: git checkout c2; git merge c1

*   8ccf531 (HEAD, c2) Merge branch 'c1' into c2
|\  
| * 1f5c0ca (c1) change in c1
* | 9d09bec change in c2
|/  
Run Code Online (Sandbox Code Playgroud)