git恢复到master版本_GIT版本恢复和出现 * (no branch)的处理

恢复丢失的版本

丢失版本最常见的问题就是 比如使用了 git reset –hard HEAD^

之类的操作,结果发现丢弃的版本还想恢复回来,但是已经没有任何分支能够reference到这个commit了。幸运的是,git

对各个分支的head还有一份log记录叫做reflog,你可以在.git/logs/refs/heads/ 目录下看到它们。 通过

git reflog 可以显示变更历史。使用类似 master@{1} master@{“2 days

ago”}之类的格式,就能索引到你想要的commit。例如对应于git reset –hard HEAD^ 使用 git reset

–hard HEAD@{1}即可恢复到reset之前的commit上。

出现 * (no branch)的处理

如果当前正工作在 (no branch)上:

$ git checkout -b working,就会把(no

branch)上的东西checkout到working分支

如果不小心从(no branch)branch切换到其他分支了,用git log不能查找到(no

branch)的信息,不要担心,先用git reflog查到(no branch)的commit,然后:

$ git checkout -b backup commit

Git push,merge,pull,fetch,rebase各自在什么情况下使用

Git push:用本地的refs更新远程的refs。比如从远程的git

repository中clone了一个副本,在此基础上做了一些修改,然后用git

push将你的修改更新到远程,前提是要有远程的写权限。

Git

merge:合并不同的分支,详细看git merge 合并分支

Git

pull:从另一个repository中fetch并且merge到一个本地分支,比如从远程的git

repository中clone了一个副本,过了一段时间,远程的版本可能已经更新,用git

pull将远程的更新fetch并且merge到当前分支。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值