0

提前为可能是一个明显的问题道歉,但我不想冒险搞砸我们的存储库来测试这个。

我需要在我的工作流程中添加另一台机器(MacBook)。我想知道为那台机器创建一个新的 git 用户是否更好,或者我是否可以继续使用我的主要 Git 用户名并假设每台机器上的存储库足够智能以保持同步?

两台机器都将在同一台服务器上签入和签出代码(而且,因为它是 Git,我想他们可以直接相互签出代码?!?)

另一个似乎很难兼顾的解决方案是将两台机器之间的开发目录与 rsync 或便携式主目录(通过 OS X 服务器的 PHD)同步。

想法?

4

2 回答 2

2

如果我可以继续使用我的主要 Git 用户名

Git 本身没有用户名。它只有作者/提交者姓名和电子邮件地址,仅用于识别作者或提交者。它不涉及实际授权或其他事情。一般来说,你应该在你的机器上保持这两个设置一致,所以你的所有提交仍然属于你(这个人),而不依赖于你创建提交的机器。

每台机器上的存储库是否足够智能以保持同步?

好吧,它们不会自动执行此操作,但您可以像往常一样拉取并推送到存储库以保持更新。

两台机器都将在同一台服务器上签入和签出代码

这样一来,在您的两个本地存储库(每台机器上一个)旁边,您就有了一个集中式存储库,它非常适合让您的本地存储库彼此同步。因此,每当您在一个本地存储库中有新内容时,只需推送到集中存储库,这样您就可以使用另一个存储库获取它。

因为它是 Git,我想他们可以直接互相检查代码

是的,由于 Git 是去中心化的,因此任何存储库都可以作为远程存储库工作。您所需要的只是与该存储库的网络连接(例如,具有 Samba 共享的私有 LAN),您可以获取并推送到它。

于 2012-12-27T21:15:04.423 回答
1

无论您在哪里输入,您都希望您的作品能够被唯一标识,因此在您输入时使用相同的名称和电子邮件git config --global user.name/email。不过,我会制作一个新的 ssh 密钥对。复制私钥不是一个好主意。如果使用 github,请将新的公钥添加到您在 github 上的用户设置中的密钥集合中。

使存储库保持同步是一个手动过程。每个都将具有跟踪分支,以反映您之后遥控器上的内容git fetch。然后,您可以根据需要合并或变基或忽略并删除您的更改。我会查找 DAG(有向无环图)以更好地了解 git 如何存储历史以及如何管理更改:http ://eagain.net/articles/git-for-computer-scientists/

你可以很容易地从你使用的两台机器上推拉。只需为每个遥控器添加一个遥控器。你很可能会被拉动,因为推送到非裸回购不是一个好主意。这取决于这样一个事实,即您可以从另一台机器上看到一台机器,这可能涉及 VPN 访问等。但是仍然可以在不使用第三个 repo 通过补丁或捆绑包的情况下移动更改。git bundle非常易于使用,我已经通过电子邮件向自己发送捆绑包。也有保管箱。许多人使用该选项。

于 2012-12-27T21:15:13.627 回答