我想在开始时提到我来自纯粹的TFS背景,我习惯于工作空间和分支,就像它在那里完成的那样。我最近决定给TFS GIT一个镜头,我看到一些奇怪的行为。这在GIT世界中可能是正常的,或者我可能做错了,所以让我们看看。以下粗体问题。
我在桌面上的C:\ projectBase中创建了一个项目,并将其检入我的origin / Master分支。在TFS上,我确认了我的更改。现在,在此之后,我移动到我的笔记本电脑并在D:\ OfficeWork \ Project \ Code中克隆了我的存储库。在一些更改后,我在本地分支到Origin / DEV并通过检入将此本地分支推入服务器。我再次确认更改是在TFS服务器上进入TFS网站的代码部分。在服务器上,我现在可以看到主分支和DEV分支。
现在我回到另一个桌面并尝试将我的存储库克隆到C:\ Codebase。现在我只能看到在origin / Master中进行的最后更改所做的更改。 Visual Studio还只显示Origin / Master分支。为什么会这样? 为什么它也没有向我展示DEV分支?。这仍然是我创建的分支。我在所有三个系统上使用相同的域登录。
我现在运行这个git命令:git checkout origin/DEV
这将更新我在c:\ Codebase中的本地代码库以及我在DEV中所做的最新更改。 但现在在TFS中为什么我看不到分支起源/ DEV?如果我在这个新桌面上做了一些更改,并希望以后在笔记本电脑或其他机器上工作,我对此做了相同的更改新桌面,我需要做什么?
不要问为什么我要在这么多不同的电脑之间转换:)谢谢。
答案 0 :(得分:0)
我认为您可能对分布式版本控制的工作方式存在根本性的误解 - “ORIGIN”指的是远程仓库(在本例中为TFS)。您想要克隆TFS仓库(在您的机器上将其设置为ORIGIN),然后在本地 。不要检查origin / dev,checkout只是“dev” - origin / dev是该分支的远程repo的版本,dev在你的本地版本的分支中。这就是为什么你看不到TFS的起源 - TFS没有起源,是的起源。
为了从远程仓库获取最新更改到您的仓库,您必须执行拉。