2012-08-03 73 views
1

我想在我的开发工作流程中使用git。我正在使用Eclipse Juno。 我来自CVS,但从分布式VCS中看到很多好处。 我正在阅读Pro Git的书,已经阅读了相当多的内容开始使用它,但不知怎么的东西不能按照我认为应该的方式工作。 我在单机上做得很好,但是当我做远程数据库同步时失败。将Git用于多个开发位置

这就是我想要达到的目标:

我有两个PC-S,HOME WORK &。我想在两台PC上开发,所以选择git来同步它们。 我在THUMB驱动器上创建了存储库,并将其克隆在HOME & WORK上。

现在,我想要在HOME或WORK上开发,在本地提交,与THUMB同步,然后与另一台PC(HOME或WORK)同步。

我应该发出什么命令来做到这一点? (例如WORK - > THUMB - > HOME)

回答

3

基本工作流程是使用提交本地:

$ git add . 
$ git commit -m "Commit message" 

此之前完成,则:

# Push the 'master' branch to the 'thumb' repository 
$ git push thumb master 

现在改用拇指驱动器到其他电脑,然后:

# Pull from the 'thumb' drive into your local repo 
$ git pull thumb master 
+0

谢谢。将尝试回报 – 2012-08-03 09:41:09

+0

这是我尝试“git push origin master”时得到的错误 – 2012-08-03 17:16:45

+0

拒绝更新检出分支:refs/heads/master 默认情况下,更新非裸存储库中的当前分支被拒绝,因为它会使索引和工作树与你推送的内容不一致 ,并且需要'git reset --hard'将工作树匹配到HEAD。 – 2012-08-03 17:22:04

2

因此,在您的情况下,THUMB就像在线中央存储库。如果你从THUMB克隆WORK和HOME,它应该在两台PC-s上设置为一个名为origin的远程设备,这非常棒。

因此,现在当您在WORK上进行更改时,您需要git push。它应该自动您所做的更改为origin,所以在你的情况下,以THUMB。

然后在首页您需要git fetch然后手动合并您的masterorigin/mastergit pull。这是一个偏好问题,我相信Pro Git会比我更好地解释它。

+0

感谢。将尝试回报 – 2012-08-03 09:41:03

+0

这是我以前做的事情,但这里奇怪的是,Eclipses的EGIT会这样做: 我修改文件,执行“添加到索引”(阶段),执行“提交”。 使用Git GUI检查本地存储库。一切都应该如此。 然后我做“PushUpstream”。使用Git GUI检查远程存储库。 !!!更改被推入,但远程的暂存区域包含更改提交,这有效地恢复了推回操作。我需要取消并恢复远程才能完成推送。不要认为这是它的本意。 – 2012-08-03 17:28:50

+1

使存储库裸露后,egit没有问题。 – 2012-08-07 17:49:23