git setup for backup&两台计算机之间同步

时间:2011-06-26 08:35:32

标签: git version-control backup

我是git的新手。需要一些建议才能知道我的设置是否正确。请阅读以下内容:

我在我的开发计算机上使用git进行2个单独的项目,并希望备份USB驱动器上的所有内容(设置为git bare repo)。另外,我想在另一台计算机上同步这些项目(用于部署)。

computer1上的2个项目路径是

/machine1/path/proj1
/machine1/path/proj2 

这就是我设置的方法(对proj2重复完全相同的步骤)

#Initialize git repo
cd /machine1/path/proj1
git init
git add .
git commit -a -m "proj 1 first commit"

#Backup on USB
cd /usb/backup
mkdir proj1.git
cd proj1.git
git init --bare
cd /machine1/path/proj1
git push --mirror /usb/backup/proj1.git

#Clone to other computer
cd /machine2/path
git clone /usb/backup/proj1.git

#After making changes on machine1, I update machine2 using this command
git pull /usb/backup/proj1.git

问题:

  1. 这些步骤是否正确(i)设置,(ii)USB备份,(iii)同步到其他机器?或者正确/更好的方式
  2. 我错误地执行了这些命令
  3.   

    cd /machine2/path/proj2
    git pull /usb/backup/proj1.git  
    

    我希望git能够显示错误消息......类似于“尝试将proj2与proj1 repo同步”,而是在proj1中创建了proj2的子目录。我的设置有缺点吗?我希望像这样的动作需要--force开关,否则会产生致命错误

2 个答案:

答案 0 :(得分:4)

这些步骤基本上是正确的,除了我更喜欢使用USB密钥using git bundle(即我更喜欢每个项目使用USB密钥一个文件,而不是很多文件:更少的机会文件损坏)。您可以创建一个with tags and branches,然后从这些包中提取。

关于拉动问题,我建议setting a remote

got remote add origin /usb/backup/proj1.git

这样,您可以“pull origin”而不是手动输入地址(可以混淆)。

有关详情,请参阅Groking git remote usage

答案 1 :(得分:1)

您还可以通过简单地为USB设置遥控器以及生产服务器的遥控器来使用后接收挂钩方法。后接收挂钩强制结账到你告诉它的地方,所以当你需要时你可以输入“git push usb”,它应该将-f签出到你的USB记忆棒或生产服务器。

检查出来...... http://toroid.org/ams/git-website-howto