Als Folge zu my question about unavailable branches after svn to git migration habe ich ein anderes Problem: Ich bin nicht in der Lage, neue Zweige zu meinem zentralen Git-Repository zu schieben.Warum habe ich Probleme, neue Zweige in mein Git-Repository zu verschieben?
$ 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
Also, dies drückt nicht meine Branche auf den Server. Ein Kollege hat mir geraten, in meine .git/config zu sehen, die wie folgt aussieht:
[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
I adviced wurde manuell eine Push-Eintrag hinzufügen:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://server/opt/git/our_app.git
push = refs/heads/*:refs/heads/*
Jetzt sah es besser:
$ 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
Während das funktionierte, fühlt es sich immer noch wie ein Hack an. Was ist der richtige Weg, dies zu tun?
Das Standardverhalten für 'git push' besteht darin, Zweige zu verschieben, für die am fernen Ende entsprechende Ziele existieren. Neue Zweige haben keine übereinstimmenden Ziele. Sie können das Standardverhalten mit der Konfigurationsvariablen 'push.default' ändern. – Amber