由于在我的项目中使用了子模块,我发现自己常常在"(没有分支)".因为我也在为那些我正在那里提交的子模块添加代码.当我想要推送那些子模块时,我需要在一个分支上.因此我的问题是:
在git(命令行)中是否有方法/快捷方式将本地分支设置为当前提交/ HEAD而不绕道而行
git checkout the_branch
git reset --hard <previous commit-ish>
Run Code Online (Sandbox Code Playgroud)
更确切地说,上面"绕道而行"的真正问题是我暂时离开了原来的HEAD和checkout-command.这可以通过git branch -f命令避免(感谢CharlesB).
Cha*_*esB 61
检查分支-B:这将分支重置为HEAD,这是当前的ref.
git checkout -B <branch>
Run Code Online (Sandbox Code Playgroud)
来自文档:
如果给出-B,则创建它,如果它不存在; 否则,它被重置.这是交易的等价物
Run Code Online (Sandbox Code Playgroud)$ git branch -f <branch> [<start point>] $ git checkout <branch>也就是说,除非"git checkout"成功,否则不会重置/创建分支.
kni*_*ttl 21
git checkout -B the_branch HEAD
Run Code Online (Sandbox Code Playgroud)
这将the_branch在提交HEAD 结帐,即使the_branch之前指向其他位置.它是在最后几个git版本中添加的,所以你可能没有它.另一条路线是git branch -D the_branch && git checkout -b the_branch
| 归档时间: |
|
| 查看次数: |
24690 次 |
| 最近记录: |