Git“推”到“起源”以外的某个地方

时间:2010-12-08 22:03:23

标签: git github

我正在使用Git向GitHub发布一些代码。这是我第一次使用Git,所以我只知道我现在需要什么。我在家里使用多台电脑进行更改。在推送到GitHub之前,我可以将我的更改从一台计算机推送到另一台计算机吗?

4 个答案:

答案 0 :(得分:4)

如果另一台计算机上运行了Git或HTTP服务器,您可以设置另一台遥控器:

git remote add your-other-computer git://your.other.computer/...
git push your-other-computer master

我发现在每台计算机上通过HTTP托管只读存储库更容易(通过Apache或IIS共享我的Git目录),然后登录到另一台计算机并git pull

答案 1 :(得分:2)

如果两者都不是裸存储库,那么拉(或获取)比推送更好,因为您可以更好地控制合并。因此,git将不允许推送到非裸存储库中的签出分支,正如coreyward指出的那样。

最好的过程可能是在你要拉的机器上设置git daemon,然后配置一个遥控器:

git remote add my-other-repo git://path/to/other/repo

然后你可以从该存储库中提取:

git checkout branch-you-want-to-be-on
git pull my-other-repo

答案 2 :(得分:1)

你可以像对待Github一样从其他git存储库中推送和拉出......

git push [remote] [branch]

但是,您无法推送到非裸存储库中的签出分支。

换句话说,如果我想将主分支中的更改从我的桌面推送到我的笔记本电脑,而我的笔记本电脑已经检查了主分支,Git将拒绝这样做。这是为了让你免于失去工作,因为这样做很突兀。

当然,如果您运行一个裸存储库(没有工作树),您可以推送它而不会出现任何与此相关的问题,但是如果不进行克隆并重新推入,则无法在该存储库中实际工作它。

正如Harpyon所建议的那样,如果您正在同步自己的计算机,Dropbox实际上并不是太糟糕。我知道一些非常聪明的开发人员已经做了一段时间,没有问题。

答案 3 :(得分:0)

您可以使用Dropbox同步存储库。这就是我目前正在做的事情,它运作得很好。如果没有,你必须使用其中一台计算机作为某种类型的服务器,例如, SSH。