无法将新分支推送到git服务器

时间:2015-08-13 02:41:14

标签: git branch git-branch vps branching-and-merging

我是git的新手,我正在尝试在VPS中设置一个git repo。我在服务器中创建了一个git repo,然后将其克隆到我的本地PC。但是当我尝试在我的PC中创建一个新分支并将其推送到服务器时,即使它被推送,但是当我尝试git checkout mybranch时它在服务器中显示error: pathspec 'mybranch' did not match any file(s) known to git.

以下是我尝试的方法:

APPROACH 1

me@localpc:~/$ git clone ssh://me@server.domain/home/me/gittest
me@localpc:~/$ cd gittest
me@localpc:~/gittest$ git branch mybranch
me@localpc:~/gittest$ git checkout mybranch
Switched to branch 'mybranch'
me@localpc:~/gittest$ git >test
me@localpc:~/gittest$ git add -A
me@localpc:~/gittest$ git commit
me@localpc:~/gittest$ git push origin mybranch
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 1.07 KiB | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://me@server.domain/home/me/gittest
 * [new branch]      mybranch -> mybranch
......................
me@server:~/gittest$ git branch
* master
  mybranch
me@server:~/gittest$ git checkout mybranch
error: pathspec 'mybranch' did not match any file(s) known to git

APPROACH 2 (使用git push -u

me@localpc:~/$ git clone ssh://me@server.domain/home/me/gittest
me@localpc:~/$ cd gittest
me@localpc:~/gittest$ git branch mybranch
me@localpc:~/gittest$ git checkout mybranch
me@localpc:~/gittest$ git >test
me@localpc:~/gittest$ git add -A
me@localpc:~/gittest$ git commit
me@localpc:~/gittest$ git push -u origin mybranch
......................
me@server:~/gittest$ git branch
* master
  mybranch
me@server:~/gittest$ git checkout mybranch
error: pathspec 'mybranch' did not match any file(s) known to git

这两个都给出了完全相同的错误。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

好的我修好了。当我在服务器中创建git repo时,这是一个问题。我使用命令git init来创建repo。这导致一些权限问题,因此推送分支无法正确添加。我应该做的是用git init --share创建回购。我用这个创建了一个新的回购,现在看起来效果很好。