要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。 远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。 同他人协作开发某个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。
新建一个远程仓库
首先需要去github上注册一个账户。 注册好后,便可以新建远程仓库了,在网页的右上角有个“+”号,点击选择“New repository”然后根据提示填写相关信息,这样远程仓库就建好了。
远程仓库的操作
git clone,git remote,git fetch,git pull,git push这几个命令是常用到的,掌握好了就可以便捷的操作远程仓库。 来一张图看一下他们的功能效果:
git clone
远程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令。$ git clone <版本库的网址>
git remote
为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。 要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字。在克隆完某个项目后, 至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库。$ git remote
origin
使用-v选项,$ git remote -v,可以参看远程主机的网址。
git fetch
一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。$ git fetch <远程主机名>
上面命令将某个远程主机的更新,全部取回本地。git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响。 记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了, 你可以执行 git merge 命令以将服务器上的任何更新合并到你的当前分支,合并过程中可能会有冲突,根据提示解决冲突后在执行一次。
git pull
git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并:$ git pull <远程主机名> <远程分支名>:<本地分支名>
该命令相当于在 git fetch 之后紧接着 git merge 远端分支到你所在的任意分支。 你也可以使用 fetch 和 merge 来做。
git push
git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。$ git push <远程主机名> <本地分支名>:<远程分支名>
需要注意一下的是git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。