我这样做了。
首先,我在一个项目文件夹上做了一个git init
。我添加了所有的文件并提交。
然后我在我的Dropbox上初始化一个空的repo,使用git init --bare
。
然后我做了一个git remote add dropbox DROPBOX_PATH
并推到了那里。
看看我的.git/config
,我有这样的行:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[remote "dropbox"]
url = /Users/whatyouhide/Dropbox/Repos/studiolegaleleopardi.it
fetch = +refs/heads/*:refs/remotes/dropbox/*
然后我走到第二台电脑前,做了一个:
git clone --origin dropbox DROPBOX_PATH
查看第二台计算机(我克隆了 repo的计算机)上的.git/config
,我有两个额外的行:
[branch "master"]
remote = dropbox
merge = refs/heads/master
我猜这些行很重要,因为当我从第一台计算机git fetch
时,我看不到消息
Your branch is ahead of 'dropbox/master' by 1 commit.
我在第二台电脑上看到了
[branch "master"]
部分意味着您的master
分支设置为自动跟踪dropbox存储库中的master
分支。这意味着当你推和拉时,它会自动知道它是从哪个远程分支推和拉的。
如果你克隆一个新的存储库,它会自动设置新的克隆的master
分支来跟踪你的dropbox中的master
。这是由你来配置dropbox的master
来跟踪master
在你的原始存储库。
你可以在原始的repo中运行这个命令:
git branch master --set-upstream dropbox/master
你也可以这样做,当你最初推到dropbox的主:
git push -u dropbox master
现在当您运行get status
时,它将知道要比较哪个远程存储库。