Discuss / Git / 似乎加不加 --no-ff 都没有显著的区别??

似乎加不加 --no-ff 都没有显著的区别??

Topic source
rm -fr .git/
echo 'hello,world' > readme.txt
git init
git add .
git commit -m 'initial readme.txt'
git checkout -b dev
echo 'hello,dev' > readme.txt
git commit -am 'dev changed.'
git switch master
echo 'hello,fuck you.' > readme.txt
git commit -am 'master changed.'

# 没有 --no-ff
# git merge dev

# 用了 --no-ff
git merge --no-ff -m 'other msg' dev

echo 'hello,fuck you.' > readme.txt
git commit -am 'master changed.'
git log --graph --pretty=oneline --abbrev-commit
git log --pretty=oneline
git branch -d dev
git log --graph --pretty=oneline --abbrev-commit
git log --pretty=oneline

结果没发现有啥区别。。。

y∩__∩y

#2 Created at ... [Delete] [Delete and Lock User]

我这是根本没有区别,没有体现出,如下

admin@DESKTOP-C8BDNB3 MINGW64 ~/Desktop/learn/gitskills (main)

$ git merge --no-ff -m "merge with no-ff" dev

Merge made by the 'ort' strategy.

 README.md | 2 +-

 1 file changed, 1 insertion(+), 1 deletion(-)

admin@DESKTOP-C8BDNB3 MINGW64 ~/Desktop/learn/gitskills (main)

$ git log --pretty=oneline

9f32c852308d391c5de6fb3eb5a0f1f69a6258a3 (HEAD -> main) merge with no-ff

5ec568737e997d4c22a12015083dcbfafdf79246 (dev) 测试 no-ff

0e52410e12ee16f3991baa16d6f41578f7eb98d7 merge Fast forward

55c72e58c5ec55ef5cd4f5750ab1838111444d14 增加了测试FAST forward

5d710cf9c2bf9380f03078cb747bfaf0a5d52bf5 merge with no-ff

6dfa472d2240ac2c2aad58af048cc86421664a1a 增加“今天又是学习git 的一天”

db128e367f9ecab40efd0e713128e6939f4e4b5f conflict fixed

396f875e41046d7ef361bb98ef291df4cf2db432 &simple

ca93d194a4d185350159335682f464f8ced74bda 增加AND simple

ac22efe84846626d0fbffa44463dbe6080aa32e5 branch test

6ca66c263cbb6b2c54cdfbcaec521c94d2c97073 (origin/main, origin/HEAD) Initial commit

admin@DESKTOP-C8BDNB3 MINGW64 ~/Desktop/learn/gitskills (main)

$ git branch -d dev

Deleted branch dev (was 5ec5687).

admin@DESKTOP-C8BDNB3 MINGW64 ~/Desktop/learn/gitskills (main)

$ git log --pretty=oneline

9f32c852308d391c5de6fb3eb5a0f1f69a6258a3 (HEAD -> main) merge with no-ff

同上,两者并没有区别,如下

1.1merge with no-ff:

2.1 merge Fast forward

admin@DESKTOP-C8BDNB3 MINGW64 ~/Desktop/learn/gitskills (main)

$ git merge -m "merge Fast forward" dev

Merge made by the 'ort' strategy.

 README.md | 3 ++-

 1 file changed, 2 insertions(+), 1 deletion(-)

admin@DESKTOP-C8BDNB3 MINGW64 ~/Desktop/learn/gitskills (main)

$ git log --pretty=oneline

0e52410e12ee16f3991baa16d6f41578f7eb98d7 (HEAD -> main) merge Fast forward

55c72e58c5ec55ef5cd4f5750ab1838111444d14 (dev) 增加了测试FAST forward

5d710cf9c2bf9380f03078cb747bfaf0a5d52bf5 merge with no-ff

6dfa472d2240ac2c2aad58af048cc86421664a1a 增加“今天又是学习git 的一天”

db128e367f9ecab40efd0e713128e6939f4e4b5f conflict fixed

396f875e41046d7ef361bb98ef291df4cf2db432 &simple

ca93d194a4d185350159335682f464f8ced74bda 增加AND simple

ac22efe84846626d0fbffa44463dbe6080aa32e5 branch test

6ca66c263cbb6b2c54cdfbcaec521c94d2c97073 (origin/main, origin/HEAD) Initial commit

admin@DESKTOP-C8BDNB3 MINGW64 ~/Desktop/learn/gitskills (main)

$ git branch -d dev

Deleted branch dev (was 55c72e5).

admin@DESKTOP-C8BDNB3 MINGW64 ~/Desktop/learn/gitskills (main)

$ git log --pretty=oneline

0e52410e12ee16f3991baa16d6f41578f7eb98d7 (HEAD -> main) merge Fast forward

y∩__∩y

#3 Created at ... [Delete] [Delete and Lock User]

有区别:

有的时候,git log ,会在提示merge:两个指针;且在删除指针dev后,git log 的提示merge,两个指针信息没有掉

没有的时候,HEAD同时指向两个main和dev,但没有提示merge信息,删除指针dev后,将彻底看不到dev指针信息


  • 1

Reply