git 解决分支冲突 pycharm git相关操作

使用git解决分支冲突

我们在开发过程中经常遇到需要解决分支冲突的情况
下面以命令形式和pycharm形式来讲解两种不同操作
1.命令形式

  1. 首先我们来构造冲突 把下载下来的同一个项目代码放到两个不同的文件夹里面,然后修改代码,
    以这个为例openapi-virt-test 一个放到了~/yhb下 另外一个放到了~/yhb/rpc
    git 解决分支冲突 pycharm git相关操作_第1张图片
    git 解决分支冲突 pycharm git相关操作_第2张图片
  2. 修改项目1代码 以下代码是修改rpc_create_instance_api.py文件 增加'test1'key
    以下是通过pycharm选中修改的文件—右键—--git—–compare with the same repository version 表示可以展示此文件与修改之前的变化
    git 解决分支冲突 pycharm git相关操作_第3张图片
  3. 添加修改 提交修改 上传代码
# 命令实现
 git add rpc_create_instance_api.py
 git commit -m 'add test1'
 git push origin rpc 

git 解决分支冲突 pycharm git相关操作_第4张图片
4. 去项目2修改代码构造冲突rpc_create_instance_api.py文件 增加'test2'key
git 解决分支冲突 pycharm git相关操作_第5张图片
5.把项目2修改代码 提交 push

# 命令实现
 git add rpc_create_instance_api.py
 git commit -m 'add test1'
 # 这里push会出错
 git push origin rpc 

git 解决分支冲突 pycharm git相关操作_第6张图片
6.这里就是有分支冲突

# 命令实现 更新下来代码
 git fetch origin rpc
# 合并代码(版本线是一条)
 git rebase origin/rpc 

git 解决分支冲突 pycharm git相关操作_第7张图片

然后会提示修改冲突
git 解决分支冲突 pycharm git相关操作_第8张图片
解决冲突
git 解决分支冲突 pycharm git相关操作_第9张图片
然后

# 修改冲突以后
git add rpc_create_instance_api.py
git status
git rebase --continue 
git push

# 强制更新为远程分支 放弃本地修改
git fetch --all
git reset --hard origin/master

git 解决分支冲突 pycharm git相关操作_第10张图片

2.pycharm形式
1. 修改项目1代码 以下代码是修改rpc_create_instance_api.py文件 增加'test1'key
以下是通过pycharm选中修改的文件—右键—--git—–compare with the same repository version 表示可以展示此文件与修改之前的变化
git 解决分支冲突 pycharm git相关操作_第11张图片
2.添加修改 提交修改 上传代码 pycharm 一键即可上传代码

选中文件-----右键-------git-----commit file-----commit and push

git 解决分支冲突 pycharm git相关操作_第12张图片

commit 是单纯在本地提交 create patch 是创建一个更新的文件 commit and push 提交并上传代码 
  1. 去项目2修改代码构造冲突rpc_create_instance_api.py文件 增加'test2'key
    git 解决分支冲突 pycharm git相关操作_第13张图片

    选中文件-----右键-------git-----commit file-----commit and push

    git 解决分支冲突 pycharm git相关操作_第14张图片
    4.异常处理
    git 解决分支冲突 pycharm git相关操作_第15张图片
    可以选择rebase 因为merge是合并 而rebase的版本是一条直线
    5.修改冲突
    accept yours 是相当于 用自己的 accept theirs 用别人的一般 可以双击一下左侧文件即可可以根据需要修改
    git 解决分支冲突 pycharm git相关操作_第16张图片
    accept left 用左边的 accept 用右边的 中间的是最后的结果
    git 解决分支冲突 pycharm git相关操作_第17张图片
    修改好了 apply
    然后选择上面工具栏的vcs —git —push 即可 push
    git 解决分支冲突 pycharm git相关操作_第18张图片

你可能感兴趣的:(技术分享)