2011-02-03 37 views
5

我有一个项目,我正在做以下设置:一台服务器与我的git回购,一台台式机和一台笔记本电脑。同步文件没有提交?

我有时在桌面上工作我的项目,有时在我的笔记本电脑上工作。

如何在台式机和笔记本电脑之间同步我的文件而不需要更改服务器?

感谢

+0

只需使用一个分支。 – ismail 2011-02-03 12:20:04

+1

短语“一个服务器与我的git回购,一台台式机和一台笔记本电脑”真的很奇怪。据推测,如果你在笔记本电脑和桌面上工作,那么他们也有回购。不要将服务器上的存储库视为与桌面或PC上的存储库不同。他们都是平等的。 – 2011-02-03 15:28:07

回答

3

您可以或多或少地直接拉你的“客户”,即PC和笔记本电脑之间的推动。传输可能是直接连接,如SSH或HTTP。但是您也可以在外部媒体上使用另一个存储库,这可能是一个USB存储棒,外部硬盘驱动器,甚至像Dropbox这样的服务。

这样,你的工作流程看起来是这样的:

  1. 让您的笔记本电脑的变化
  2. 提交您的笔记本电脑
  3. 推更改提交到U盘上
  4. 拉离提交后仓库将U盘粘贴到PC上的存储库
  5. 作出更多更改
  6. 提交它们 - 您也可以修改其他如果你希望你的变化是原子
  7. 把你的最终提交到信息库中的服务器上

要知道,你总是需要在本地提交更改之前,你可以将它们推到另一个仓库提交。看起来你来自另一个像Subversion这样的SCM系统,其中提交总是意味着“使更改在服务器和所有人上都可见”。 Git的工作方式不同,在你推送它们之前,提交只是本地的。

1

如果你需要一个“快速和污染”的解决方案,你可以使用像Dropbox这样的服务。我在我的Dropbox目录中有几个回购:)

1

只需使用rsync命令。确保你在你本地的回购根路径,并运行: rsync -a --exclude=.git . [email protected]:[Your Remote Path]

你可以修复你的代码在本地和rsync它。当代码可以部署时,然后提交部署问题。

你可以在~/.ssh/config文件中配置你的ssh远程别名,google知道如何配置它。那么你的命令将是: rsync -a --exclude=.git . [remote-alias-name]:[Your Remote Path] 并且不需要输入密码。