git 远程分支同步本地落后的有冲突的分支

如果你的本地分支已经修改了很多代码,但同时也已经落后于远程分支。这个时候你需要在主分支上拉最新的代码,然后切换到你的分支。

如主分支是 main ,从分支是xing。

 首先切换到子分支

$ git checkout xing
然后请求merge主分支main的代码

$ git merge main

Auto-merging xxx

CONFLICT (content): Merge conflict xxx 显示当前两个仓库有冲突

接下来解冲突

$ git fetch --all
将主分支的代码拉到本地分支,但不merge。

手动解冲突

<<<<<<< HEAD

XXXX

==========

YYYY

>>>>>>>xxxxxxxxxxx

$ git status
完成查看状态 (fix conflicts and run "git commit)

$ git add .
添加注释

$ git commit -m "解决分支merge冲突"

$ git merge

然后就可以更新代码 然后Push

$ git push 

远程子分支更新完成

撤销push

xxx 当前push的commit值

$ git revert -m 1 xxx

如果远程自己的分支已经远远落后于主分支,这个时候不想解冲突,想保存自己的分支名。

只需要在gitlab上新建一个分支,然后将此分支合并到你的远程分支。

如果本地git pull没有更新,可以切换到主分支main然后再切换回子分支刷新。

如果远程分支已经同步了主分支,但是与本地分支同步后显示有未追踪到(在远程主分支被删掉的文件)的文件

Untracked files:
  (use "git add <file>..." to include in what will be committed)

使用 $ git clean -f -d 删除本地未追踪到的文件

使用$ git clean -f 删除本地文件

使用$ git clean -df 删除本地文件夹

》》》回退已经Push的节点:

首先回退你想存在的节点。

在网页gitlab 删除已经push的节点分支。

需要现在gitlab界面删掉当前节点,然后重新git push origin。就会产生一个新的分支,少你回退的节点。

git Push代码:

git push origin HEAD:refs/for/XXX
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值