20

我在一家使用 Git 进行版本控制的公司工作。我们使用托管回购服务(Beanstalk)作为我们的内部“公共”(我的意思是整个开发团队都可以访问)回购。我有两台通常用于编写代码的计算机。我喜欢使用 Git 的一些历史重写功能,特别是变基和修改提交,但我真的不喜欢在将某些内容推送到已发布的分支后使用它们。然而,我需要能够在这两台计算机之间共享代码,最好不要在其他计算机之间共享。

我想要的是一种在两台计算机之间共享我的代码的简单方法,而不必与其他人共享。我考虑过 Airdrop(两台电脑都是 Mac)和 ssh。在利用 git 的分布式特性的同时,建议的实现方式是什么?

4

3 回答 3

22

假设您在机器之间具有 ssh 访问权限,您可以在机器之间自由推送、获取和拉取:

git push computer2:projects/prog HEAD:tmp

或者,如果您在计算机 2 上:

git pull computer1:projects/prog HEAD

或者

git fetch computer1:prj/prog branch1:t1
git fetch computer1:prj/prog branch2:t2
git merge t1 t2

或者

git fetch computer1:prj/prog branch1 branch2 branch3
git merge FETCH_HEAD

等等...git help fetch更多示例请参见。

于 2012-07-10T18:46:54.377 回答
1

您可以在其中一台机器上运行即时 git 服务器,使用 git-daemon 或类似的东西:https ://gist.github.com/1525217

于 2012-07-10T18:33:59.490 回答
1

我不明白为什么你不能创建在远程仓库中明确指出的临时工作分支,但如果你想要一个替代方案并且两台计算机都通过网络连接并通过 ssh 访问,你可以设置其中一个或两个它们作为额外的遥控器,并在任何方向上从一个推到另一个。尽管您不想推送到错误的遥控器,但第一次就正确可能会令人困惑。

于 2012-07-10T18:36:17.137 回答