6

我们有一个名为deploy用于构建和测试部署脚本的远程分支。毫不奇怪,部署脚本最终位于一个名为deploy. 现在该目录deploy位于分支master中,在进行初始克隆时,实际签出该分支很麻烦。

$ git clone bitbucket.org:/myplace/mything
$ cd mything
$ ls
deploy          extensions      installExtensions   src         tests
$ git branch -r | grep dep
  origin/deploy
$ git checkout deploy
$ git branch
* master
$ git checkout origin/deploy
Note: checking out 'origin/deploy'.

You are in 'detached HEAD' state. [SNIP]

此时我应该只创建一个名为的本地分支并将deploy其设置为跟踪远程吗?我可以给 git 提供什么语法,让它知道我要签出远程分支,而不是本地路径吗?

4

2 回答 2

10

您可以使用以下任一命令简单地创建一个指向远程分支的新本地分支(后者将立即检查它):

git branch deploy origin/deploy
git checkout -b deploy origin/deploy

但是,这不会设置 Git 自动为远程分支创建分支时发生的跟踪功能。为此,您必须执行以下操作:

git branch -u origin/deploy

作为替代方案,您可以在一个命令中完成所有这些操作,这与 Git 自动执行的操作相同:

git checkout -b deploy --track origin/deploy
于 2013-05-17T13:15:15.417 回答
4

我的解决方法是

git checkout deploy --

于 2017-08-24T21:39:27.557 回答