-1

我正在尝试将我们的(非常小的)公司从 svn 迁移到 git,因此正在尝试工作流程。我们的主要目标是让两个开发人员(我说的是小公司)能够在他们的 pc 上和晚上在他们的 mac 上处理他们的分支,而不会相互干扰,直到分支稳定……此时他们将分支合并回来入主。

每个开发人员都有一个本地存储库,我们在 EC2 机器上有一个裸露的“原始”存储库。

到目前为止香草,对吧?

所以我创建了一个测试分支,并从几台机器上对其进行了各种更改、提交、拉取、推送等。到目前为止一切都很好。

然后我做了:“git checkout master; git merge testBranch”在一台机器上将testBranch中的更改合并到main。

然后在我的另一台机器上,我说“git checkout master”……并没有看到 testBranch 的变化!我也尝试过“git pull origin master”,但仍然看到一些文件的 pre-testBranch-merge 版本。

此时我可以在两台机器上说“git checkout master”并最终得到不同版本的文件,据我了解这应该是不可能的。在执行这些命令时,我在两台机器上都没有看到任何错误。

任何帮助理解这是如何实现的,将不胜感激,谢谢。

4

2 回答 2

1

Git 是一个分布式版本控制系统。git checkout中央服务器检查任何内容。您将 SVN 的结帐概念与 git 的结帐命令混淆了。

于 2013-11-08T22:45:46.707 回答
1

看看遥控器背后的理论

于 2013-11-08T22:57:06.617 回答