6

在等待系统管理员设置 gerrit 存储库时,我创建了自己的分支。他刚刚给我发了repo的地址。我将其设置为 origin 并以某种方式推送了我的最后一次提交。克隆 repo 工作正常,但git branch -r什么也不返回。这里发生了什么?

$ git init
# made some comits    
git config remote.origin.url ssh://gerrit.mm-sol.com/branchname

$ git push origin SH1-of-my-last-commit:master    
error: unable to push to unqualified destination: master    
The destination refspec neither matches an existing ref on the remote nor  
begins with refs/, and we are unable to guess a prefix based on the source ref.  
error: failed to push some refs to 'ssh://gerrit.mm-sol.com/apps/phone-shaker'  

$ git push origin master
Counting objects: 85, done.  
Delta compression using up to 4 threads.  
Compressing objects: 100% (85/85), done.  
Writing objects: 100% (85/85), 20.95 KiB, done.  
Total 85 (delta 49), reused 0 (delta 0)  
remote: Resolving deltas: 100% (49/49)   
remote: Updating references: 100% (1/1)  
To ssh://gerrit.mm-sol.com/branchname  
 * [new branch]      master -> master  
4

2 回答 2

23

试试这个:

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin

然后再试git branch -r一次。

将来在设置遥控器时,最好使用以下命令而不是git config

git remote add <remotename> <remoteurl>

例如

git remote add origin ssh://gerrit.mm-sol.com/branchname

这将自动设置urlfetch配置。

于 2012-09-25T09:03:02.693 回答
1

尝试git push -u origin master

于 2012-09-25T08:08:41.550 回答