git解决冲突(超详细图文版及常用命令)

操作流程
pull add commit push

add commit pull push

详细过程----------------------------------------------------

本地未进行commit情况下
1、如果只有本地有修改 pull 不会有任何问题 会有如下提示 意思是已经更新了
在这里插入图片描述
此时正常add commit push即可

2、如果有多人修改 会有如下提示 意思为需要commit (注意add一样会如下提示,必须commit)
在这里插入图片描述

本地commit后
1、先pull 如果只有自己修改 则会如下提示 然后正常push
在这里插入图片描述

2、先pull 如果有多人修改 则分是否有冲突情况

2.1 没有冲突 分merge或者rebase操作方式

merge后 会提示如下图 意思 需要提交一次 请输入提交信息 按i输入 wq保存退出 然后push即可
在这里插入图片描述

rebase后 会提示如下信息 无需任何操作了 直接push即可
在这里插入图片描述

2.2 存在冲突 分merge 和rebase
merge后会提示如下图 意思为存在冲突 需要解决冲突 然后 进行 add commit 之后再push
在这里插入图片描述

rebase后会提示如下图 意思为存在冲突 其中需要解决冲突 然后add continue(注意不需要commit了) 之后再push
在这里插入图片描述

如果本地有多次commit,在有冲突情况下使用rebase会产生连续冲突
如上图 其中(master|REBASE 1/3) 代表本地分支(master正在合并中 当前是第一次,也就是第一次要解决冲突)
此时查看状态如下图 意思为可以选择使用–skip忽略冲突 使用–abort放弃rebase 或者解决冲突然后add再–continue
在这里插入图片描述

解决方法1、重复执行 (解决冲突 add continue) 直至没有冲突 push即可
下图为要执行add示意
在这里插入图片描述

下图为要执行rebase --continue示意
在这里插入图片描述

下图为全部解决示意
在这里插入图片描述

此时查看状态 为正常三次commit 执行push操作即可
在这里插入图片描述

解决方法2、使用 git rebase --abort 退出rebase 进行pull(也就是merge)自动合并 输入提交信息 push即可
解决方法3、再rebase前或者退出rebase 使用 git rebase -i 将本地多次commit合并为一个commit 然后再rebase 解决冲突 add continue push

注意如果使用图形工具解决冲突 图形工具里不要标记为解决 只要保存 如果不小心标记为解决了 及时查看状态进行解决

只要文件有修改就要add 所以上述操作如果文件有了变化就要add 没有则不需要

以上操作命令大部分为简写 可以查看下列详细操作命令进行使用

详细命令

git status  查看当前状态
git log  查看提交日志
git merge dev  合并dev分支至当前分支
git add .      添加当前目录全部文件至暂存区
git commit -m '测试'     提交,提交信息为测试
git push origin master  推送至远端分支(master为需要推送分支,按实际需要选择)
git pull origin master  合并远端分支至本地 (git pull 等于 git fetch + git merge)
git pull --rebase origin master rebase方式合并远端分支至本地
git branch 查看当前分支
git branch dev 创建dev分支  (dev可选)
git branch -d dev 删除dev分支
git branch -r 查看远程分支
git branch -a 查看所有分支 (包括远程分支)
git checkout master 切换至master分支
git checkout -b dev 创建dev分支并切换至dev分支
git checkout -b dev origin/dev 创建远程分支到本地
git restore file 丢弃工作区修改(file为具体文件名称)
git restore * 丢弃所有工作区修改
git restore --staged file  回退暂存区文件 不会更改文件内容
git rebase --continue   rebase后继续操作
git rebase --abort 退出rebase 操作


相关好文:
好文1
好文2
好文3

  • 36
    点赞
  • 231
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
解决Git冲突可以使用以下几个命令: 1. 首先,你需要拉取最新的代码到本地,使用命令`git pull`。如果出现冲突Git会提示你哪些文件有冲突。 2. 打开冲突的文件,在编辑器中修改冲突的内容并保存文件。可以使用命令`vim 文件名`来打开文件。 3. 解决冲突后,使用命令`git add .`将解决后的文件标记为已解决。 4. 使用命令`git commit -m '消息'`提交解决冲突后的文件。这一步相当于保存了冲突解决的快照。 5. 最后,将修改后的代码推送到远程仓库,使用命令`git push`。 另外,如果你需要解决本地冲突,可以使用以下步骤: 1. 进入产生冲突的文件,使用命令`vim 文件名`打开文件。 2. 修改文件内容,并使用命令`wq`保存并退出。 3. 使用命令`git add .`标记冲突解决,并将解决后的版本提交到本地仓库,使用命令`git commit -m '消息'`。 4. 切换到需要合并的分支,使用命令`git checkout 分支名`。 5. 合并解决冲突后的分支到当前分支,使用命令`git merge 解决冲突后的分支`。 以上就是解决Git冲突的一些常用命令和步骤。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [解决git冲突步骤(详细)](https://blog.csdn.net/weixin_45597885/article/details/129464448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [传智教育 | Git代码冲突-不同分支之间的代码冲突](https://blog.csdn.net/cz_00001/article/details/125409249)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elon的随笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值