我目前将我的项目托管在VSTS(Visual Studio Team Services)上,我也想在GitHub上托管它。我喜欢VSTS,因为我在实习期间使用它并且非常习惯但我也喜欢GitHub熟悉的感觉,我知道我的朋友们也会和我一起工作这个项目会更喜欢GitHub。
是否可以在两个地方托管代码,并且无论您在何处推送代码,都可以相应地更新代码?
例如,如果其他人从GitHub克隆了回购,进行更改,并将它们推送到GitHub,我可以这样做,以便VSTS自动获取这些更改,反之亦然吗?
答案 0 :(得分:1)
短而甜蜜的答案
技术上可行。但这有点像在你的手腕上携带两块手表......你很难保持它们同步,你永远不会确定哪一只是真的"。我怀疑在尝试了一两个月之后,你和/或你的团队自然会放弃一个而只使用另一个。
冗长的答案
Git本质上是故意分散的。服务器不比单个计算机重要或重要。您机器上的repo具有与VSTS和GitHub上的repos相同的历史记录和相同的核心功能。
当然,问题在于总的无政府状态会导致混乱和效率低下。总的来说,人类更喜欢等级制度和领导力。因此,即使技术是分散的,我们也不是,我们倾向于聚在一起,选择一个特定的回购作为我们的真相来源。如果它不在那个回购中,则它不是"官方"。 (即使有多个回购,个人往往忠于一个,只有一个,排除所有其他人。)
作为一个例子,在git的早期,在托管解决方案之前,Linus Torvalds'个人Linux回购是真相的来源。当然,你可以拥有自己的,但是每个人都或多或少地认识到他的版本是最完整和最新的,并且最有可能保持这种状态,所以每个人都向他发送拉动请求并根据他们的新工作他的主要分支。
您的项目也是如此。您可以根据需要设置任意数量的托管解决方案,但您很快就会发现,对于每个开发人员来说,只有两个回购将是重要的...他们的个人回购,以及他们推送和回收的回购(他们的& #34;远程&#34)。你也会发现这对你也是如此。保持VSTS更新所需的努力很快就会变得多余和不必要......你已经在GitHub上有一个最新的回购,而你的个人回购就是你完成所有工作的地方,所以为什么你甚至试图保持第二个遥控器最新?
如果你愿意的话,你可以试试一段时间,我确信你可以使用一些聪明的钩子来保持VSTS最新,但随着时间的推移,努力和费用(及时,如果可能会导致你放弃它而只是与GitHub一起工作。如果你真的非常喜欢VSTS,那么你应该设置它而不是GitHub。您可以随时迁移...使用git相对容易...但您可能会发现一次拥有一个远程活动对所有相关人员来说都会更好。