每次我执行
git pull origin master
Git弹出编辑器并要求我在提交之前写下有关合并的评论。你有任何想法为什么会发生这种情况?另一位开发人员也在主分支上进行工作,但没有遇到这个问题。
据我所知,分支配置是正确的。除了在拉取时发生的这个烦人的合并提交外,我能够正常地拉取和推送更改。
git pull
是先执行 git fetch
,再执行 git merge
。从 Git 1.7.10 开始,git merge
在合并时会弹出编辑器(请参见发行说明)。另一个开发者可能使用的是旧版本的 Git。
git pull
来更新我的本地分支,但现在它不再像以前那样工作了。如果 git pull
发生了变化,那么从源服务器拉取更改的正确方法是什么? - Studio4Development的行为仍然与以前相同,只是现在它会给您编辑生成提交消息的机会。如果您想要旧的行为,可以使用
git pull --no-edit。 (但我建议完全避免使用
git pull。这是一个可怕的命令,如果我发现任何同事使用
git pull`,我会严厉谴责他们。) - Richard Hansengit checkout -b ...
。然而,有时我会不经意地在已经有一个同名分支的工作区执行此操作(通常是我已经尝试过PR的早期草稿),所以该命令失败,我仍然在我的master/main分支上,然后下一个命令被粘贴并将该分支合并到我的master/main分支中。然后我需要一段时间才能意识到出现了问题。)git pull origin master
时,编辑器窗口弹出(如OP中所述)
- 当我推送到GitHub的PR显示形式为Merge branch 'master' of https://github.com/[myOrg]/[myRepo] into master
的提交时git log
Merge branch 'master' of https://github.com/[myOrg]/[myRepo] into master
的提交master
分支与应该跟踪的分支分开的点)git checkout [SHA]
git branch -m master master-broken
(可选地,您可以删除它,但这更安全,并且您随时可以稍后删除它)git checkout -b master
git pull [upstream source] master
(在OP的情况下,我预计这将是git pull origin master
)理解此修复的关键见解是要认识到master
分支没有什么特别之处-它只是一个约定。因此,删除(或重命名)它并创建具有该名称的新分支没有问题。
git commit
吗? - bozdozpull
操作总是在之前的基础上添加新的内容,还是在此期间进行了commit
操作?也许你应该使用git pull --rebase
命令来代替? - vonbrandgit commit
。 @vonbrand - 我不是完全确定你在问关于pull
的什么。 - Studio4Development