【发布时间】:2012-11-05 15:59:44
【问题描述】:
我无法让我的 Git 存储库按照我想要的方式运行。我确信它可以做我想做的事,但我只是没有自己弄清楚。这是我的设置...
- PC1:这是我创建存储库并对其进行更改的开发机器。
- SERVER1:这是我的远程 Git 存储库所在的位置,所有更改都从 PC1 推送到它。
- PC2:这是我的 QA 机器。我从 SERVER1 克隆了 Git 存储库。我希望从远程存储库中签出我想测试的任何分支,并能够进行拉取以获取最新代码。
我在两台电脑上都使用 TortoiseGit。我在 PC1 上创建了一个分支 (2012_2_2),提交了更改,然后推送到了 SERVER1。在 PC2 中,我选择了“Switch/Checkout”,并签出了 remotes/orgin/2012_2_2。
很遗憾,这不起作用。当我查看 PC2 存储库的属性时,当前分支说“致命:ref HEAD 不是符号链接”。此外,我无法提取对分支 2012_2_2 所做的更改。当我从菜单中选择 pull 时,唯一可以从中提取的分支是 origin/master。
我哪里做错了?
【问题讨论】:
-
您在 PC 上使用 TortoiseGit,因此您可能不知道他们使用的是什么命令。但是要最初将分支推送到服务器,如果 origin 指向该远程,您将执行
git push -u origin newbranch。一旦分支在那里,您就可以将所有分支拉到 PC2。git pull origin应该拉下所有分支。那你应该可以git checkout 2012_2_2使用命令行工具学习Git可能比使用隐藏步骤的工具更容易。从长远来看,你会变得更好。 -
我想知道当我将远程分支签出到 PC2 上时,是否应该选择“创建分支”选项来获得分支的本地副本?
-
当您签出分支时,它应该创建它,因为它会从存储库中下来。如果你想讨论这个问题,我们可以通过我的个人资料聊天。
标签: windows git tortoisegit git-remote git-checkout