git如何将master分支上的代码合并到自己新建的分支上
作者:flytalei
问题
当新建的分支提交远程准备“git pull”拉取当前最新master时,git提示
There is no tracking information for the current branch.Please specify which branch you want to merge with.(没有当前分支的跟踪信息。请指定要与哪个分支合并。)
是什么原因呢?
背景
在我新建的一个分支未提交合并master之前,同事的一个分支已经被合并到master上了。
我记得我提交时曾经做了“git pull”的操作,但当我打包部署我的新分支代码时,同事说他的被合并到master上的分支没有被部署(也就是说我git pull并没有拉取到他的已经被合并到master上的代码)。
后来再回去git pull时,才发现git pull时git提示了以上红色字体部分的提示信息。
当时竟然对这条提示置之而不理。
解决
出现以上这种问题,说明master分支的代码领先于自己的分支,此时需要将master分支代码合并到自己的分支上。
因为在我的分支正在开发中,同事完成的分支被合并了,此时的master又被更新了一次,而我的分支仍然是没有合并同事之前的master,所以此时我的分支就落后于master了,所以此时我需将master上的新代码合并到我自己新建的分支上来。
第一步
先切换到主分支
git checkout master
第二步
将最新的master代码git pull下来
git pull
第三步
在切换到自己的新建的分支上
git checkout 新建分支名
第四步
将master代码merge到自己新建的分支上
git merge master
第五步
最后再将新建的分支git push到远程上,此时你新建的分支就和master上的代码一样了。
git push origin 新建分支名
在使用git的时候,如果本地做的修改都不想保留了,可以通过下面命令恢复成HEAD版本,未提交的以及加入暂存区中的修改都会被舍弃
git reset --hard
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。