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)