在git中我刚刚做了一个
git pull
字符串以获取其他人可能在我所在的远程分支上进行的任何可能的更改,并且git pull创建了一个我必须使用的自动合并
git reset --hard <commit-just-before>
型在执行git pull时,有没有办法避免这种自动合并?有可能我做的事情是完全错误的,因为我是一个git的初学者,我不熟悉这些上下文中使用的术语。
6bc51xsx1#
你可以检查你的远程分支是否包含新的提交:
git fetch git log ..origin
字符串添加-p以将代码更改包含到提交日志中:
-p
git fetch git log ..origin -p
型如果你想在不提交的情况下看到更改:
git fetch git diff ...origin
型但是如果你想在没有提交的情况下合并:
git fetch git merge --no-ff --no-commit Automatic merge went well; stopped before committing as requested
型要在此之后清除索引,请执行以下操作:
git reset --hard
型
bksxznpy2#
在当前版本¹的git中,你可以像这样调整git的配置:
git config --global pull.ff only
字符串然后git pull将中止而不是尝试合并,并显示以下消息:
fatal: Not possible to fast-forward, aborting.
型如果你想覆盖它,并拉合并,你可以用
git pull --no-ff
型另见:https://git-scm.com/docs/git-config#Documentation/git-config.txt-pullff¹版本2.1+我认为,检查git --version
git --version
2条答案
按热度按时间6bc51xsx1#
你可以检查你的远程分支是否包含新的提交:
字符串
添加
-p
以将代码更改包含到提交日志中:型
如果你想在不提交的情况下看到更改:
型
但是如果你想在没有提交的情况下合并:
型
要在此之后清除索引,请执行以下操作:
型
bksxznpy2#
在当前版本¹的git中,你可以像这样调整git的配置:
字符串
然后git pull将中止而不是尝试合并,并显示以下消息:
型
如果你想覆盖它,并拉合并,你可以用
型
另见:https://git-scm.com/docs/git-config#Documentation/git-config.txt-pullff
¹版本2.1+我认为,检查
git --version