在git拉origin master之后,我得到了以下消息:
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), 51.49 KiB | 850.00 KiB/s, done.
拉动似乎成功了,但我不确定。
我该怎么补救呢?
哇,这里有很多好答案。
但我想从路线原因的角度来回答…
不容易确定OP路径,因为每个人都可能不同。
解决问题很好,但首先预防问题就更好了。
尽管我尊重上面的答案,因为他们的知识远比我多。
这是我的问题的原因,与上面的错误相同:
做一个提交和推拉从我的开发分支到我的远程开发分支(使用VS Code);
然后是我团队分公司的公关。
然后在github中,我将我的团队分支合并到我的开发分支中(更高),以使开发与其他团队保持一致,以确保我们所有人都一致。
第二天早上,我做了一个新的提交,但是当我在我的本地上使用Push/Pull in VS Oce时,我得到了错误。
我应该做的是我在远程合并后,我应该拉或获取远程到我的本地之前做进一步的改变,然后我就不会得到错误。
所以我的日常生活应该改变,当我合并团队到Dev在我的遥控器上,我也必须把它拉到本地直接
我还有另一个复合因素,我的新提交与合并到我的Dev分支的冲突,所以我收到了不同的错误,告诉我在Pull之前删除或隐藏我的更改。
所以,如果把这个问题解决了,按正确的顺序来做也许就能在一开始就避免这个错误。(可能)。
该问题将通过以下命令解决
Git配置-全局拉。Ff true在项目目录终端执行此命令。
这是一个理想的解决方案,通过桌面,但同时。对于不熟悉CLI (Command Line Interface)的用户,可以参考本手册。
从GitHub桌面,您可以按Ctrl + '(也可从
“存储库”主菜单为“在[您设置的终端]中打开”)。这
应该打开一个CLI。
从SourceTree -> Actions ->打开终端。这个会打开
终端与您的项目目录。
在终端输入:
Git配置-全局拉。Ff为真(或错误提示中指定的任何其他选项)。
现在,当你试图拉它将使用该配置,并允许你继续。
我建议拉。Ff为真,因为它试图在应用本地提交之前快进您的分支,使其与远程更新,如果没有,它将执行从远程到本地分支的合并。点击这里阅读文档。
通常情况下,当您拖动一个分支、添加提交和推送时。这是在顺序假设您的本地是最新的远程。当无法快速转发时,通过合并,您将看到一个合并提交通知您它是如何处理的。(其他的选择是rebase或总是合并,许多新用户发现rebase不太直观,但实际上完成了同样的事情)
我添加了——global标志,这样你的选择将适用于你所有的回购,你不会再看到这个错误消息。如果您希望每个存储库都有不同的行为,可以忽略这个选项。