我在 Git(版本 2.10.1 (Apple Git-78))中遇到了一个非常奇怪的问题。
看来,如果我曾经在本地 repo 配置中设置merge.ff
为false
,那么这个 repo 就没有办法回来了。我只是无法取消它。
以下是重现的步骤:
git init
# Set merge.ff
git config --add merge.ff false
# Add some content and commit.
echo '.' >> file.txt
git add file.txt
git commit -am "commit"
# Create a new branch.
git branch feature
git checkout feature
echo '.' >> file.txt
git commit -am "commit"
git checkout master
git merge feature
此合并按预期创建带有消息的提交。
现在我取消设置,我希望未来的快进提交不会创建额外的提交。但令人惊讶的是,这不起作用。
git config --unset-all merge.ff
git checkout feature
echo '.' >> file.txt
git commit -am "commit"
git checkout master
git merge feature
我假设这个合并不应该创建一个提交,因为没有merge.ff
设置,所以应该应用默认值。但是提交被创建。
我想要什么:让快进提交在我的仓库中再次工作。有没有办法得到这个?