文章目录

报错消息解决方法

报错消息

示例代码:

➜ git:(test) git pull origin test

* branch test -> FETCH_HEAD

hint: You have divergent branches and need to specify how to reconcile them.

hint: You can do so by running one of the following commands sometime before

hint: your next pull:

hint:

hint: git config pull.rebase false # merge (the default strategy)

hint: git config pull.rebase true # rebase

hint: git config pull.ff only # fast-forward only

hint:

hint: You can replace "git config" with "git config --global" to set a default

hint: preference for all repositories. You can also pass --rebase, --no-rebase,

hint: or --ff-only on the command line to override the configured default per

hint: invocation.

fatal: Need to specify how to reconcile divergent branches.

翻译:

➜git:(test) git pull origin test

提示:您有不同的分支,需要指定如何协调它们。

提示:您可以通过在之前某个时间运行以下命令之一来做到这一点

提示:你的下一招:

提示:

提示:git config pull.rebase false # 合并(默认策略)

提示:git config pull.rebase true # Rebase

提示:git config pull.ff only # 仅快进

提示:

提示:可以将“git config”替换为“git config——global”来设置默认值

提示:首选所有存储库。你也可以传递——rebase,——no-rebase,

提示:或命令行上的——ff-only,以覆盖配置的默认per

提示:调用。

fatal:需要指定如何协调不同的分支。

解决方法

分析:这是由于你拉取pull分支前,进行过merge合并更新分支操作,而其他人在你之前已经push过一个版本,导致版本不一致

第一种解决方法:比较简单

执行git config pull.rebase false默认将pull下来的代码与现有改动的代码进行合并但是可能会造成代码冲突,需要处理下这个问题,代码冲突如果2个人都改了同一个文件,需要联系之前push的同学,看看这块代码怎么保存

第二种解决方法:回退到合并之前的代码,在进行pull拉取最新代码

注意:这种解决方法仅适用于2个分支之间的合并(git merge)操作,比如你是将dev开发分支合并到test分支之前没pull,那这时候test分支需要回退到未合并前的版本。 test上合并上去的代码将会丢失,等你test分支能成功pull后,需要重新合并(merge)开发分支dev上的代码合并到test上。所以记得保留dev开发分支这个版本的代码再把test回退到上一个版本,等pull成功,再重新在test分支上合并dev分支代码

查看最近3次提交的历史版本

➜ git:(test) git log -2 # 查看最近2次提交的历史版本

commit 6018c237278f5265e78314049d6642e493ebdb0d

Author: 流星

Date: Wed Jan 19 09:57:50 2022 +0800

合并之后

commit 33df706e780d10af6435bda1fee85430604eebfd

Merge: 1d06cd1f 7589979d

Author: 流星

Date: Tue Jan 18 16:11:21 2022 +0800

合并之前

根据历史版本记录,选择commit地址,回退到自己合并之前的版本

➜ git:(test) git reset --hard 33df706e780d10af6435bda1fee85430604eebfd

再进行pull更新分支

➜ git:(test) git pull origin test

最后再重新合并代码

➜ git:(test) git merge dev

记得养成一个良好git发布流程的习惯

# 分支合并发布流程:

git add . # 将所有新增、修改或删除的文件添加到暂存区

git commit -m "版本发布" # 将暂存区的文件发版

git status # 查看是否还有文件没有发布上去

git checkout test # 切换到要合并的分支

git pull # 在test 分支上拉取最新代码,避免冲突

git merge dev # 在test 分支上合并 dev 分支上的代码

git push # 上传test分支代码

更多git操作请查看博主的另一篇文章,关注我不迷路,我替你们把坑都踩平了:

https://blog.csdn.net/qq_45677671/article/details/114594940?spm=1001.2014.3001.5502

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: