1

我做了以下。

首先,我git init在一个项目文件夹上做了一个。我添加了所有文件并提交。

然后我在我的 Dropbox 上初始化了一个空仓库,使用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

.git/config我的第二台计算机(我克隆repo 的那台)上查看我还有两行:

[branch "master"]
    remote = dropbox
    merge = refs/heads/master

我想这些行很重要,因为当我git fetch从第一台计算机上看不到消息时

Your branch is ahead of 'dropbox/master' by 1 commit.

我在第二台计算机(克隆的计算机)上看到的。

4

1 回答 1

2

[branch "master"]部分表示您的master分支已设置为自动跟踪masterDropbox 存储库中的分支。这意味着当你推拉时,它会自动知道它是从哪个远程分支推拉的。

如果您克隆一个新存储库,它会自动设置master新克隆的分支以跟踪master您的 Dropbox。您可以配置保管箱master以跟踪master原始存储库中的内容。

您可以通过在原始存储库中运行它来做到这一点:

git branch master --set-upstream dropbox/master

当您最初推送到 Dropbox 的主服务器时,您也可以这样做:

git push -u dropbox master

现在,当您运行get status时,它将知道要与哪个远程存储库进行比较。

于 2013-05-08T23:35:33.463 回答