没有提交同步文件?

时间:2011-02-03 11:40:41

标签: git

我正在开发一个项目并进行以下设置:一台服务器配备我的git repos,一台台式机和一台笔记本电脑。

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

如何在不将更改提交到服务器的情况下在台式机和笔记本电脑之间同步文件?

3 个答案:

答案 0 :(得分:3)

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

这样你的工作流程可能如下所示:

  1. 在笔记本电脑上进行更改
  2. 在笔记本电脑上提交更改
  3. 将提交推送到USB记忆棒上的存储库
  4. 从USB记忆棒提取到PC上的存储库
  5. 进行更多更改
  6. 提交他们 - 如果您希望更改是原子的,您也可以修改其他提交
  7. 将您的最终提交推送到服务器上的存储库
  8. 请注意,在将其更改到另一个存储库之前,您始终需要在本地提交更改。看起来你来自像Subversion这样的另一个SCM系统,其中提交总是意味着“使更改在服务器上和每个人都可见”。 Git的工作方式不同,在你推送之前提交只是本地的。

答案 1 :(得分:1)

如果您需要“快速且干净”的解决方案,您可以使用Dropbox等服务。我的Dropbox目录中有几个回购:)

答案 2 :(得分:1)

只需使用rsync命令。确保您在本地repo根路径中,并运行: rsync -a --exclude=.git . root@xxx.xxx.xxx.xxx:[Your Remote Path]

您可以在本地修复代码,并对其进行rsync。可以部署代码,然后提交部署问题。

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