我想做的事:在我的(ssh 远程访问)大学机器上,我从事一个项目,该项目已置于 git 源代码控制之下(git init
然后git commit -a
在每次更改后,一切正常)。现在我想在家里的私人机器上处理那个项目。应该很容易,因为 git 是分布式 vcs,对吧?
我阅读了git tutorial,它建议git pull
在大学做一个以在家完成更改。那是行不通的,因为我家中的机器无法远程访问。所以我想我会git push
在家里做一个。这行得通,但它很复杂(git reset
之后需要在大学等),因为非裸存储库不是为推送而设计的。
问题 1:有没有比在我的设置中添加额外的裸存储库更简单的方法(这意味着我有:(1)“主要”裸存储库,(2)大学工作副本,(3)家庭工作副本)?
<Rant>如果我真的需要那个设置,我可以留在 SVN。</Rant>
问题 2:如果确实需要该设置,我如何创建那个裸存储库(git clone --bare
我猜)并使其成为“主”存储库,即告诉git push
应该去那里的工作副本。
PS:我知道有一个 post-receive 钩子可以让你推入非裸存储库。我试过了,但效果不好,因为大学机器上的 git 版本很旧(1.5.5.6)并且错过了钩子使用的一些命令。更新不是一种选择,无论如何我更喜欢没有第三方脚本的解决方案。