[英]What did I just do with my git repository?
我克隆了一个git repo,它有很多其他两个远程分支:
当我克隆它时,我就掌握了。 我想切换到foo-bar
分支,即我想将代码从远程origin/foo-bar
分支获取到名称为foo-bar
的本地分支,所以我这样做了:
$ git checkout foo-bar
请注意,我不确定是说git checkout origin/foo-bar
还是说git checkout foo-bar
。
现在,我想知道我到底做了哪两个?
我是否刚刚使用master
分支的所有内容创建了一个名为foo=bar
的新本地分支? 要么
我是否创建了一个新的名为foo-bar
分支并将所有内容从远程origin/foo-bar
自动拉入其中?
如果我做错了事,即我实际上想做第二件事,但是如果我做了其他事,如何删除这个名为foo-bar
本地分支?
请注意,我不确定是说
git checkout origin/foo-bar
还是说git checkout foo-bar
。
两者都是有效的,但它们的含义不同。 Tl; dr,在这种情况下,您需要后者。
origin/foo-bar
(在这种情况下, origin
是远程名称)是所谓的远程跟踪分支。 远程跟踪分支是只读的,无法检出,因此git checkout origin/foo-bar
将分离HEAD
并将其设置为origin/foo-bar
引用的提交。
git checkout foo-bar
分支foo-bar
是否存在,或按如下所述重新创建它。
- 我是否刚刚使用
master
分支的所有内容创建了一个名为foo-bar
的新本地分支?
如果您的Git版本不是很旧,默认情况下git checkout foo-bar
将创建分支foo-bar
并将其设置为跟踪您的case origin/foo-bar
。
手册页git-checkout中记录了此行为。
- 我是否创建了一个新的名为foo-bar的分支并将所有内容从远程
origin/foo-bar
自动拉入其中?
请参阅1。
- 如果我做错了事,即我实际上想做#2,但是如果我做了其他事,如何删除这个名为foo-bar的本地分支?
要删除分支,请签出其他分支(例如git checkout master
),然后执行git branch -d foo-bar
。
有关git-branch的信息,请参见手册页 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.