Why do I have problems pushing new branches to my Git repository?
branch, git, git-clone, git-push
Solution
To push a new branch use `git push origin my-test-branch`
Problem
As a followup to my question about unavailable branches after svn to git migration, I have a different problem: I'm unable to push new branches to my central Git repository. ``` $ 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 ``` So, this does not push my branch to the server. A colleague advised me to look into my .git/config, which looks like this: ``` [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 was adviced to manually add a push entry: ``` [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = ssh://server/opt/git/our_app.git push = refs/heads/*:refs/heads/* ``` Now things looked better: ``` $ 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 ``` While this worked, it still feels like a hack. What's the proper way to do this?