5

svn to git migration の後に使用できないブランチに関する質問のフォローアップとして、別の問題があります。新しいブランチを中央の Git リポジトリにプッシュできません。

$ git clone ssh://server/opt/git/our_app.git
$ cd our_app
$ git branch my-test-branch
$ git checkout my-test-branch
$ echo test > test.txt
$ git add test.txt
$ git commit test.txt -m "test commit"
[master ed81ec0] test commit
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test.txt
$ git push
Everything up-to-date

したがって、これは私のブランチをサーバーにプッシュしません。同僚から、次のような .git/config を調べるように勧められました。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://server/opt/git/our_app.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

手動でプッシュ エントリを追加するようにアドバイスされました。

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://server/opt/git/our_app.git
    push = refs/heads/*:refs/heads/*

今、物事は良く見えました:

$ git push
Password: 
Counting objects: 1, done.
Delta compression using up to 1 threads.
Compressing objects: 100% (1/1), done.
Writing objects: 100% (1/1), 5 bytes, done.
Total 1 (delta 1), reused 0 (delta 0)
To ssh://server/opt/git/our_app.git
 * [new branch]      my-test-branch -> my-test-branch

これはうまくいきましたが、それでもハックのように感じます。これを行う適切な方法は何ですか?

4

3 に答える 3

4

新しいブランチをプッシュするにはgit push origin my-test-branch

于 2010-10-25T07:58:02.827 に答える
4

同じブランチ名でブランチをプッシュしたいだけの場合は、次を使用してください

git push origin my-test-branch

元のリポジトリの master ブランチに変更を反映させたい場合:

git push origin my-test-branch:master
于 2010-10-25T08:01:25.210 に答える
4

ブランチをリモートリポジトリにプッシュできます

git push origin my-test-branch

次に、すべてのリモートブランチを表示できます

git branch -r

リモート ブランチの作成/削除の概要を次に示します。

于 2010-10-25T08:03:01.380 に答える