2

これが私のシナリオです (これは非常に単純なものです): を使用せずに、ローカルにブランチを作成しました--track。私はいくつかのコミットを行い、次のようにプッシュしました。

git push origin test

しかしorigin test、このブランチをプッシュするたびに入力する必要がなくなったので、追跡したいと思いますorigin/test(またはその逆ですか?)。

どうすればこれを達成できますか?私は試した:

git branch --set-upstream origin/test

そしてそれはうまくいきませんでした。プッシュしようとすると、「すべてが最新です」と表示され、「origin/test」という実際のブランチが作成されたように見えますが、これは私が望んでいるものではありません。

更新:(.git/config実行後の--set-upstream)内容は次のとおりです。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = git@***.unfuddle.***/***.git
    fetch = +refs/heads/*:refs/remotes/unfuddle/*
    push = refs/heads/master:refs/heads/master
[gui]
    wmstate = normal
    geometry = 1098x644+298+187 207 207
[branch "test"]
    remote = origin
    merge = refs/heads/test
4

4 に答える 4

6

呼び出すときにローカルブランチを指定するのを忘れましたgit branch --set-uptstream

git branch --set-upstream test origin/test

編集:OK、おそらくそれを忘れていませんでした(最後の引数は省略できるため)が、リモートブランチを追跡するようにローカルブランチを設定したい(manpage git-branch)代わりに、反対のことをしました(現在ブランチにいますtest

git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]

origin/testそのトラックを指定しますtest

于 2011-04-07T11:30:13.443 に答える
1

--set-upstream廃止されました。代わりに--trackまたはを使用してください。--set-upstream-to

git branch --track test origin/test
于 2014-04-02T22:36:48.423 に答える
0

手動で編集することになりました.git/config。現在の外観は次のとおりです。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = git@***.unfuddle.***/***.git
    fetch = +refs/heads/*:refs/remotes/unfuddle/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "test"]
    remote = origin
    merge = refs/heads/test

今はうまくいくようです。を使用してブランチを設定した別のプロジェクトから例を取得しました--track

pushのステートメントに問題があったと[remote "origin"]思います。それが常に master ブランチをプッシュしていると思います。

于 2011-04-08T07:45:24.113 に答える
0

試してみてくださいgit push -u origin test

于 2011-04-07T11:26:15.873 に答える