如何将本地git仓库关联至远程git仓库
以本地git仓库关联GitHub仓库为例:
- 在github上新建仓库(注意不要给仓库初始化README文件)
- 仓库新建完成后,拿到仓库的https地址(如:https://github.com/testuser/repository_name.git)或者ssh地址(如:git@github.com:testuser/repository_name.git)
- 将本地的仓库关联到建好的github仓库:git remote add origin 仓库的https地址/ssh地址,其中origin是我们给这个仓库起的名字,也可以叫其他的,随意
- 上传仓库中的文件到已关联的github远程仓库: 建议执行 git push -u origin master 。这里的参数-u的作用是指定origin为默认推送的仓库;整行命令的意思是,将origin设置为默认推送的仓库,并将本地的master分支推送至origin的master分支。这样一来,以后再推送改动至远程仓库时就可以不带任何参数直接使用git push,而无需再次指定推送的远程目的仓库
(因为上面步骤没有进行公私钥设置,输入命令回车后会要求输入GitHub的账号和密码)
note: 不带任何参数的git push,有2种推送改动的方式:
A. simple方式,只推送当前分支。执行push时,本地在哪个分支,就push哪个分支
B. matching方式,推送所有有对应的远程分支的本地分支
Git 2.0之前默认采用matching,之后默认采用simple
如何做仓库备份
让本地仓库同时track多个remote仓库:
dev@wMacBookPro jianshu_blog % git remote add origin git@github.com:testuser/jianshu_blog.git
// 增加第二个push目的仓库,使用git remote set-url --add
dev@wMacBookPro jianshu_blog % git remote set-url --add origin git@gitee.com:testuser/jianshu_blog.git
dev@wMacBookPro jianshu_blog % git remote add gitee git@gitee.com:testuser/jianshu_blog.git
dev@wMacBookPro jianshu_blog % git remote add github git@github.com:testuser/jianshu_blog.git
dev@wMacBookPro jianshu_blog % git remote -v
gitee git@gitee.com:testuser/jianshu_blog.git (fetch)
gitee git@gitee.com:testuser/jianshu_blog.git (push)
github git@github.com:testuser/jianshu_blog.git (fetch)
github git@github.com:testuser/jianshu_blog.git (push)
origin git@github.com:testuser/jianshu_blog.git (fetch)
origin git@github.com:testuser/jianshu_blog.git (push)
origin git@gitee.com:testuser/jianshu_blog.git (push)
经以上配置后,
push to origin 会同时push到github和gitee的对应仓库
pull from origin 会拉取github的仓库
而使用git pull github master & git push gitee master会拉取github仓库的master分支然后push到gitee仓库的master








网友评论