【git冲突】如何更新代码到远程github已存在的仓库?

【git冲突】如何更新代码到远程github已存在的仓库?,第1张

【git冲突】如何更新代码到远程github已存在的仓库? 问题背景

已有一个远程的代码仓库,由于本地项目对代码进行了较大改动,当我们推送时难免会遇到代码冲突,本文需要大家对git基本命令已有了解,这里把整个更新的过程记录了下来,希望对大家有所帮助!

  • 产生冲突:
  • git rebase可以看到冲突在哪些文件,去对应文件处理冲突:

如果你输入git rebase后的报错不一样,查看底部附录附录也许能帮到你

处理冲突
  • 所谓处理冲突就是,远程和本地代码二者取一:大家都得视具体情况自己进行更改,远程代码和本地代码,git会自动添加 ====== 进行区分,分割线上面的是远程代码:

  • 根据第一张图git rebase的提示:

Resolve all conflicts manually, mark them as resolved with
"git add/rm ", then run “git rebase --continue”.
意思是 在处理好所有冲突后,将冲突的文件添加到暂存区或从中删除

  • 下面是逐句加入到暂存区

git add参数汇总:
git add -u:将文件的修改、删除,添加到暂存区。
git add . :将文件的修改、新建,添加到暂存区。
git add -A:将文件的修改、删除、新建,添加到暂存区。

冲突处理完成
  • 继续执行git rebase --continue ,我的命令行会d出vim提示修改一下commit信息 ,也可以git rebase --skip直接跳过本次commit(我还没有实践过),这一步相当于告诉git 我已经处理好冲突啦.
    git log可以发现commitId已经改变:
推送远程仓库
  • git status查看一下,现可以push到远程仓库了
附录
  • 关于git rebase 报错不一致:

1、There is no tracking information for the current branch.
本地没有追踪远程分支的信息

解决方法:
执行git branch --set-upstream-to=origin/master master,如果出现报错,请检查是否是下一条问题,再解决这一条问题

2、the requested upstream branch ‘origin/master‘ does not exist

解决方法:git fetch

这时候再执行git rebase,应该和图1 的信息是一致的

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5609843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存