2011-06-10 61 views
2

让我们想象一下这个场景如何从差异机器提交?

跑在我的Windows PC的工作,我的Windows Home PC和我的Mac笔记本电脑Dropbox,并且都具有不同的本地文件夹和Git 1.7.4安装在所有

枚举他们:

  • 机1:工作的Windows PC
  • 机2:Windows家庭PC
  • 机3:Mac笔记本电脑

我创建Dropbox的一个新文件夹,假设我把机1和结束的路径是

D:\DropBox\Projects\My AspNet Mvc WebApp\

所以我做

git init 
git add . 
git commit -m "initial commit" 

,并运行git remote挂钩与云存储库,并做我的git push

我的问题很简单

如何我现在可以提交修改在其他机器上做?

我可以做

git add . 
git commit -m "My changes" 
git push could master 

从其他机器?

注:我使用AppHarbour我的云服务

注2:的Dropbox不复制git的文件夹:(

回答

1

你说:

git add . 
git push could master 

你需要在它们之间进行一次提交(并且我假设你的远程被命名为“could”),但是,原则上,你在那里有一个通过dropb保持同步的git存储库在共享该收存箱目录的所有机器上运行。原则上你可以从一台机器转到另一台机器,并在两台机器上拥有“相同”的存储库。

现在,我已经听说了关于dropbox hosing .git目录的一些事情 - 我认为关于权限的一些事情。同样,如果您在不同的机器上同时进行不同的更改,显然Dropbox最终会出现冲突版本,可能会或可能无法很好地解决问题。但是,这些caviats放在一边,是的,这应该工作,并从我正在阅读的人都有一些共享保管箱内共享工作目录git回购的成功。

+0

true,错过提交或没有任何东西会被推送:)谢谢你在Dropbox阻止.git目录时抬头,这就是我错了......我在其他机器上没有'.git'文件夹: -/ – balexandre 2011-06-10 15:37:12

0

如果DropBox拒绝同步.git目录,有一个小的解决方法:将环境变量GIT_DIR设置为.git-meta或其他一些。

我目前使用DropBox来保存我的裸仓库,并从它克隆到我的本地存储在两台机器上。除了我通常不会做的偶尔推动之外,它运作得相当好。

+0

会试一试 – balexandre 2011-06-20 05:39:04