GIT - 跟踪分支与克隆之间的差异

时间:2009-10-23 14:22:23

标签: git

我看到这个命令漂浮在各个站点上。

git checkout --track -b <...>

如果我在远程服务器上创建一个裸仓库并在两个不同的位置工作,那么最快和“批准”的方式是什么?

我做的是,我在笔记本电脑上创建了初始仓库,然后将更改推送到我的VPS仓库所在的“原产地”(裸仓库)。现在,在我的桌面上,我应该克隆我的回购?我问,因为我有两个分支,“dev”和“master”。一旦我在桌面上,我不确定是否应该“跟踪”回购或者我应该先克隆?如果我想在dev分支上工作,那么当我使用--track指令结账时该怎么办?

这是我到目前为止所做的。

在笔记本电脑上

cd devproject
git init
git add .
git commit -m "My first commit"

关于VPS回购

mkdir /home/sam/devproject.git
cd /home/sam/devproject.git
git --bare init
exit

返回笔记本电脑

cd devproject
git remote add origin ssh://myserver.com/home/sam/devproject.git

在桌面上(??)

git clone <..>

3 个答案:

答案 0 :(得分:9)

克隆存储库,但跟踪分支。您发布的结帐命令未完成:

git checkout --track -b new_local_branch_name origin/remote_branch_name

因此所需的步骤是:

  1. 克隆远程存储库。
  2. 跟踪远程分支。

答案 1 :(得分:4)

如果您不在存储库中,则上述命令将不起作用。要使用git,您必须始终首先创建一个存储库,方法是克隆已存在的存储库或使用git-init并从头开始。

git checkout --track -b <branch> <remote-branch>
git checkout --track <remote-branch>

这两个命令创建一个新的本地分支来跟踪<remote-branch>。第一个手动命名为<branch>;第二个使用与遥控器相同的名称。

请记住,跟踪并不意味着自动更新 - 它只是指定分支应该从哪里推/拉,让git状态给出那些“你的分支在原始/主人之后的5次提交,并且可以快速 - 转发“消息。

答案 2 :(得分:0)

使用时

git checkout --track -b local_branch_name origin/remote_branch_name

(通常使用'local_branch_name'与'remote_branch_name'相同,存在快捷方式:
“git checkout -b --track origin / branch_name”),表示您创建名为“local_branch_name”的本地分支,您可以在其上创建提交,上游分支将为名为“remote_branch_name”的远程跟踪分支(跟踪/跟踪此远程跟踪分支)。

您需要记住,您不能直接在'origin / remote_branch_name'上提交;此远程跟踪分支用于跟踪远程“origin”中“remote_branch_name”分支的进度(“origin”是您从中克隆的远程的默认名称。)