本文介绍Git下本地仓库与Git服务器/远程仓库的使用方法
查看远程仓库
执行下述命令,可以查看和当前本地仓库关联的所有远程仓库的简写,如果该本地库是通过克隆下来的,其远程仓库的默认名为origin
1 | git remote |
通过添加 -v 选项,可以查看所有远程仓库的简写 和 抓取、推送的URL
1 | git remote -v |
通过下述命令查看指定远程仓库的详细信息
1 | git remote show [remoteName] # 查看指定名remoteName的远程仓库信息 |
移除远程仓库
使用下述命令移除和当前本地仓库关联的某个远程仓库
1 | git remote rm [remoteName] # 移除指定名remoteName的远程仓库 |
重命名远程仓库
使用下述命令修改远程仓库的简称
1 | git remote rename [oldRemoteName] [newRemoteName] # 将名为 oldRemoteName 的远程仓库重命名为 newRemoteName |
远程仓库与本地仓库的关联
添加远程仓库
使用下述命令添加与本地代码库关联的远程仓库,同时指定远程仓库的简称
1 | git remote add [remoteName] [URL] |
关联分支
- 添加远程仓库后,可直接通过下述命令显式地将本地分支和远程分支关联,这样日后的推送/拉取操作时可以省略远程分支名称
1 | git branch --set-upstream-to=[remoteName]/[remoteBranchName] [localBranchName] |
- 亦可以在第一次推送分支时,通过添加 -u 参数以将本地当前分支和远程仓库的指定分支关联起来,在日后的推送/拉取操作时可以省略远程分支名称
1 | git push -u [remoteName] [remoteBranchName] |
克隆远程仓库
使用下述命令,将远程仓库克隆到本地,其远程仓库简称,默认为origin
1 | git clone [URL] |
Note :
- 通过克隆方式进行关联时,会自动将本地仓库master分支和远程仓库的master分支关联起来
从远程仓库拉取
可以使用下述两种方式从远程仓库拉取别人的更新和提交,分支名可省略。其中,fetch命令将更新拉取到本地后,需要手动合并;而pull则会尝试进行自动合并
1 | git fetch [remoteName] [branchName] # 从指定名remoteName的远程仓库的branchName分支拉取更新 |
当拉取没有共同commit的远程仓库时,会出现 fatal: refusing to merge unrelated histories 错误,致使拉取失败。该情况一般会在用git remote add命令添加远程仓库的情况下出现,只需添加 —allow-unrelated-histories 参数即可
1 | git pull origin master --allow-unrelated-histories |
向远程仓库推送
使用push命令将远程仓库推送你本地的更新和提交。如前所述,在使用git remote add 建立远程仓库关联时,第一次推送时,在push 和 远程仓库名之间添加 -u 参数,将本地当前分支 和 远程仓库分支关联起来
1 | git push [remoteName] [branchName] # 向指定名remoteName的远程仓库的branchName分支推送更新 |