已有一个远程的代码仓库,由于本地项目对代码进行了较大改动,当我们推送时难免会遇到代码冲突,本文需要大家对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 的信息是一致的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)