开发者

Working with a forked git repository, except I cloned the public repo URL, not the private URL

开发者 https://www.devze.com 2022-12-17 01:37 出处:网络
New to git, so this is hopefully a simple question with a simple answer. I forked a repository on GitHub. I then cloned it on my local machine by using the public repo URL: git@github.com:samuelclay/

New to git, so this is hopefully a simple question with a simple answer.

I forked a repository on GitHub. I then cloned it on my local machine by using the public repo URL: git@github.com:samuelclay/django-mingus.git, as opposed to the private repo URL: git://github.com/samuelclay/django-mingus.git.

I made some changes to the code, committed those changes, and in order to push my changes up to my forked repo, I issued: git remote add upstream git://github.com/samuelclay/django-mingus.git, and then git push upstream, but while that doesn't give me an error (it says Everything up-to-date), it is certainly not pushing my changes up to GitHub.

Is there a way to change to the private repo URL? Is that e开发者_运维技巧ven necessary?


I was able to easily do this by editing the .git/config file.

$git clone git://github.com/user/test.git # Clone from read only
# Make changes
$ git push
fatal: remote error: 
  You can't push to git://github.com/user/test.git
  Use git@github.com:user/test.git

So I edited .git/config for that project and changed the origin's url:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    # Remove this line:
    #url = git://github.com/user/test.git
    # Add this line:
    url = git@github.com:user/test.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
$ git push
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 298 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
To git@github.com:user/test.git
   58986b8..c8bd8c2  master -> master

Success!


You've gotten the public and private URLs backwards. The git:// URL is the public one; the git@github URL is the private one.

If you want to change a repo URL, just open up your .git/config file in a text editor, find the offending URL, and change it to the other one. Check the git config documentation for more information on the format of the config file.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号