Git(三): Git远程仓库

本文介绍Git下本地仓库与Git服务器/远程仓库的使用方法

figure

查看远程仓库

执行下述命令,可以查看和当前本地仓库关联的所有远程仓库的简写,如果该本地库是通过克隆下来的,其远程仓库的默认名为origin

1
git remote

通过添加 -v 选项,可以查看所有远程仓库的简写 和 抓取、推送的URL

1
git remote -v

通过下述命令查看指定远程仓库的详细信息

1
2
git remote show [remoteName]  # 查看指定名remoteName的远程仓库信息
git remote show origin # 查看名为origin的远程仓库信息

移除远程仓库

使用下述命令移除和当前本地仓库关联的某个远程仓库

1
2
git remote rm [remoteName]    # 移除指定名remoteName的远程仓库
git remote rm origin # 移除名为origin的远程仓库

重命名远程仓库

使用下述命令修改远程仓库的简称

1
2
git remote rename [oldRemoteName] [newRemoteName]   # 将名为 oldRemoteName 的远程仓库重命名为 newRemoteName
git remote rename origin demo # 将名称为 origin 的远程仓库重命名为 demo

远程仓库与本地仓库的关联

添加远程仓库

使用下述命令添加与本地代码库关联的远程仓库,同时指定远程仓库的简称

1
2
3
git remote add [remoteName] [URL]
# 向本地代码库关联指定地址的远程仓库,其仓库命名为 origin
git remote add origin git@github.com:Guanghua-Zhu/GitDemo.git

克隆远程仓库

使用下述命令,将远程仓库克隆到本地,其远程仓库简称,默认为origin

1
2
git clone [URL]
git clone git@github.com:Guanghua-Zhu/GitDemo.git # example

Note :

  • 通过克隆方式进行关联时,会自动将本地仓库master分支和远程仓库的master分支关联起来
  • 通过添加远程仓库方式时,可以在第一次推送分支时,添加 -u 参数(例如:git push -u origin master),以将本地当前分支和远程仓库的指定分支关联起来,在日后的推送/拉取操作时可以省略分支名称

从远程仓库拉取

可以使用下述两种方式从远程仓库拉取别人的更新和提交,分支名可省略。其中,fetch命令将更新拉取到本地后,需要手动合并;而pull则会尝试进行自动合并

1
2
git fetch [remoteName] [branchName] # 从指定名remoteName的远程仓库的branchName分支拉取更新
git pull [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分支推送更新
0%