git提交的时候,本地已经提交,却怎么也推送不到服务器,也没显示错误,只显示 everything-up-to-date ;

原因是git不在master分支,而是处于detached head(匿名分支提交)状态,即git Head指向了其中一个提交,而不是master分支,所以,在detached HEAD里面做的任何操作,例如提交操作,都可以正常进行,但是不会更新任何已命名的分支。(你可以认为这是在更新一个匿名分支。)

一旦此后切换到别的分支,比如说master,那么这个提交节点(可能!!!如果使用了git gc,那就没了:-( )再也不会被引用到,然后就会被丢弃掉了。

如果要保存这个匿名分支,可以把它新建为一个新的分支,使用

git checkout -b new_branch_name 

其实,使用git checkout的好处多多 , 如果既没有指定文件名,也没有指定分支名,而是一个标签、远程分支、SHA-1值或者是像master~3类似的东西,就得到一个匿名分支,称作detached HEAD(被分离的HEAD标识)。这样可以很方便地在历史版本之间互相切换。比如说你想要编译1.6.6.1版本的git,你可以运行git checkout v1.6.6.1(这是一个标签,而非分支名),编译,安装,然后切换回另一个分支,比如说git checkout master。

上面的问题可以这样解决:

$ git log -
# note the SHA- of latest commit
$ git checkout master
# reset your branch head to your previously detached commit
$ git reset --hard <commit-id>

或者,可以

git checkout <commit-id>
git checkout -b new_branch_name

然后合并分支。

Git的使用参考:http://www.cnblogs.com/trying/archive/2012/06/04/2863745.html

最新文章

  1. AngularJS作出简单聊天机器人
  2. js模版引擎handlebars.js实用教程——如何引入Handlebars.js
  3. ANSI是什么编码?
  4. CLI-error
  5. ffmpeg编码YUV420视频序列
  6. tomcat根据繁忙线程数对keepalive进行动态调整
  7. Solr配置集群
  8. C#中关于DateTime的最大值和最小值
  9. Vmware Briged方式使虚拟机上网
  10. 【Tomcat源码学习】-1.概述
  11. 《深入理解Java虚拟机》虚拟机类加载机制
  12. Markdown(editormd)语法解析成html
  13. DIV+CSS详解
  14. Vue-接口跨域请求调试proxyTable
  15. Go语言之unsafe包介绍及使用
  16. [数据]matplotlib总结
  17. soa---java 多线程的---锁
  18. 使用memcache处理缓存的三种方案
  19. 启动spark
  20. L1-007 念数字

热门文章

  1. springboot整合elasticsearch入门例子
  2. 视图控制器生命周期中各个重要的方法(Swift) (Important Methods during the Lifecycle of a View Controller)
  3. Jquery——动画效果
  4. Ant详解之-path、classpath和fileset
  5. 微信小程序 - 自定义swiper dots样式(非组件)
  6. 查看postgre都有哪些语句占用CPU,以及对应的sql语句
  7. Codeforces Round #310 (Div. 1) B. Case of Fugitive(set二分)
  8. 配置Git绑定Git@OSC
  9. SpringBoot2中配置文件的调整,升级SpringBoot2时候注意的坑
  10. Webwork【05】请求跳转前 xwork.xml 的读取