git add . #将文件加入stage area
 git commit  -m “ 提示信息”#提交文件,同时提示输入commit message
 git push -u origin master #push到远程仓库,同时设置跟踪分支,下次push的时候,直接输入git push就醒了,系统会自动用本地master分支跟踪远程master分支               $:git clone git@git.yiran.com:galaxy/orion.git
               $:echo "add a line" >> README.md
               $:(git diff  git status )git add . 
               $:git commit -m 'commit'
               $:git push origin master
               $:OK

 

参考:http://cbsfly.github.io/git/git-date

Git问题Everything up-to-date解决

20Jan 2016 in Git  Lessthan 1 minute read

今天push代码的时候遇到了一个小问题,提示『Everything up-to-date』,导致不能push代码,说这里解决了记下小记。

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

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

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

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

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

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

$ git branch newbranch
 
然后输入这条命令检查是否创建成功
 
$ git branch
 
这时终端输出
 
  newbranch
* master
 
这样就创建成功了,前面的*代表的是当前你所在的工作分支。我们接下来就要切换工作分支。
 
$ git checkout newbranch
 
这样就切换完了,可以$ git branch确认下。然后你要将你的改动提交到新的分支上。
 
$ git add .
$ git commit -a
 
此时可以$ git status检查下提交情况。如果提交成功,我们接下来就要回主分支了,代码和之前一样。
 
$ git checkout master
 
然后我们要将新分支提交的改动合并到主分支上
 
$ git merge newbranch
 
合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。下面的代码可以查看产生冲突的文件,然后做对应的修改再提交一次就可以了。
 
$ git diff
 
我们的问题就解决了,接下来就可以push代码了。
 
$ git push -u origin master
 
新建分支的朋友别忘了删除这个分支
 
$ git branch -D newbranch

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