July
17th,
2017

git clone
$ git clone <版本库的网址> <本地目录名>
git remote
Git要求每个远程主机都必须指定一个主机名,git remote命令就用于管理主机名。
不带选项的时候,git remote命令列出所有远程主机。
$ git remote
origin
使用-v选项,可以参看远程主机的网址。
$ git remote -v
origin https://github.com/pytorch/pytorch (fetch)
origin https://github.com/pytorch/pytorch (push)
其他操作
$ git remote show <主机名>
$ git remote add <主机名> <网址>
$ git remote rm <主机名>
$ git remote rename <原主机名> <新主机名>
git fetch
一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。默认情况下,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。
$ git fetch <远程主机名>
$ git fetch <远程主机名> <分支名>
git branch命令的-r选项,可以用来查看远程分支,-a选项查看所有分支。
$ git branch -r
origin/master
$ git branch -a
* master
remotes/origin/master
取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支。
$ git checkout -b newBrach origin/master
此外,也可以使用git merge命令或者git rebase命令,在本地分支上合并远程分支。
$ git merge origin/master
git pull
git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
$ git pull <远程主机名> <远程分支名>:<本地分支名>
$ git pull origin next:master
$ git pull origin next
$ git submodule update
上面命令表示,取回origin/next分支,再与当前分支合并。实质上,这等同于先做git fetch,再做git merge。
$ git fetch origin
$ git merge origin/next
git push
git push命令用于将本地分支的更新,推送到远程主机。如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
$ git push <远程主机名> <本地分支名>:<远程分支名>
git push origin master