提交代码遇到『Everything up-to-date』

提交代码遇到『Everything up-to-date』

上网查了下,发现中文大多答非所问,少数能解决的并没有阐述原理,所以我写这篇文章记录下。

这里先上 stackoverflow 的回答,基础好的可以看这个。

接下来说我自己的理解,出现这个问题的原因是git提交改动到缓存,要push的时候不会将本地所有的分支都push掉,所以出现这个问题。我们应该告诉git提交哪个分支。

这里有种特殊的情况是如果你是fork别人的仓库再clone到本地的话,即使git上只有一个主分支,他还是可能出现这个错误。那么我们就需要新建分支提交改动然后合并分支。

接下来先创建一个新分支提交改动

 
  1. $ git branch newbranch

然后输入这条命令检查是否创建成功

 
  1. $ git branch

这时终端输出

 
  1. newbranch

  2. * master

这样就创建成功了,前面的*代表的是当前你所在的工作分支。我们接下来就要切换工作分支。

 
  1. $ git checkout newbranch

这样就切换完了,可以 $ git branch 确认下。然后你要将你的改动提交到新的分支上。

 
  1. $ git add .

  2. $ git commit -a

此时可以 $ git status 检查下提交情况。如果提交成功,我们接下来就要回主分支了,代码和之前一样。

 
  1. $ git checkout master

然后我们要将新分支提交的改动合并到主分支上

 
  1. $ git merge newbranch

合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。下面的代码可以查看产生冲突的文件,然后做对应的修改再提交一次就可以了。

 
  1. $ git diff

我们的问题就解决了,接下来就可以push代码了。
  1. $ git push -u origin master

新建分支的朋友别忘了删除这个分支

 
  1. $ git branch -D newbranch

如果想保留分支只是想删除已经合并的部分只要把大写的D改成小写的d就行了。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值