`
MauerSu
  • 浏览: 513864 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Git Tip: git push ‘No refs in common and none specified’

    博客分类:
  • git
 
阅读更多
源:http://blog.csdn.net/fudesign2008/article/details/8692696
评:


@see http://www.thebuzzmedia.com/git-tip-git-push-no-refs-in-common-and-none-specified/


Git is a source-control tool used by software developers.

I recently switched from Subversion to Git and while things have been mostly smooth, there have been a few “WTF?” moments. I am going to try and blog the few beginner ones I ran into in hopes of helping anyone else.

Today I ran a ‘git push’ to shove my commits from my local repository back into the main remote repo, the result was this:

    $ git push
    No refs in common and none specified; doing nothing.
    Perhaps you should specify a branch such as 'master'.
    error: failed to push some refs to 'git@github.com:painfreepr/<repo>.git'

The odd bit is that I had just done this with a previous repo about 30 mins ago and it worked fine; this was a new repository I was setting up. As it turns out this is the result of originally cloning an empty repository (link, link) which is exactly what I did. I had created a new repo on GitHub and wanted to pull the repo down in IntelliJ to then add some files to it via the GUI instead of from the command line; so I had checked out the empty repo right after creating it.

The fix, fortunately, is dead easy:

    $ git push origin master

Doing this should provide output like:

    $ git push origin master

    Counting objects: 568, done.

    Delta compression using up to 2 threads.

    Compressing objects: 100% (559/559), done.

    Writing objects: 100% (568/568), 2.28 MiB | 2.18 MiB/s, done.

    Total 568 (delta 205), reused 0 (delta 0)

    To git@github.com:painfreepr/<repo>.git

    * [new branch]      master -> master

It is my understanding that the core issue is that there are no files in commonbetween the original remote repo you cloned (empty) and the one on-disk (now full of files). Doing the git-push-origin-master shoves your repo up into the empty repository and gives you that common base again so you can do a ‘git push‘ without issue.

Happy Git’ing!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics