赞
踩
在使用git branch命令查看当前环境所在的开发分支时,如果出现*(no branch),则表示当前不处于任何分支,这时可以通过如下几种方法处理,以便于后续项目版本的管理:
1:git checkout -b 分支名;此时新创建的分支与*(no branch)软件一样
2:如果想将*(no branch)合并到主分支master,则首先执行git log命令,记住第一行的id号,然后执行git checkout master命令,此时出现的第一行信息中也会出现一个id号,与之前执行git log中第一行出现的id号是一致的,此时就已经切换到了主分支上来了,然后执行git merge id将*(no branch)软件合并到主分支;
如果主分支与*(no branch)软件内容有差异的文件比较多,则建议使用第一种方法,如果有差异的软件不多,则可以使用第二种方法。
亦可参考http://serverfault.com/questions/56722/git-seemed-to-be-in-no-branch-and-then-lost-my-changes
# if you have already checked out to master,
# you won't know the commit-ish of your "no branch":
git fsck --lost-found # (to find your <commit-ish>)
git merge <commit-ish>
# if you are still on your "no branch" commit:
git log # (the commit-ish will be on the first line)
git checkout master
git merge <commit-ish
># or
git log | head -n 1 | cut -d ' ' -f 2 | pbcopy
git checkout master
git merge <commit-ish>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。