git fetch <远程主机名> #将远程主机的更新,取回本地
git fetch <远程主机名> <分支名> #取回远程主机的master分支
git fetch origin master #取回origin的master分支
所取回的更新,默认会以"远程主机名/分支名"的形式读取。比如origin主机的master,就要用origin/master读取
git branch -r 查看远程分支
git branch -a 查看所有分支
git pull命令的作用是,取回远程主机某个分支的更新,并与本地的指定分支合并
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin next:master #取回origin主机的next分支,与本地的master分支合并
git pull origin next #远程分支是与当前分支合并
Git会在本地分支与远程分支之间,建立追踪关系。如:在git clone时,本地分支默认与远程主机的同名分支,建立追踪关系,如:本地的master分支自动"追踪"origin/master分支
手动建立追踪关系
git branch --set-upstream master origin/next #指定master分支追踪origin/next分支
如果远程主机删除了某个分支,默认情况下,git pull不会在拉取远程分支的时候,删除对应的本地分支。这是为了防止,由于其他人操作了远程主机
git pull -p #在本地删除远程服务器上已经不存在的分支
git push命令用于将本地分支的更新,推送到远程主机
git push <远程主机名> <本地分支名>:<远程分支名> #如果该远程分支不存在,则会被新建
git push origin master #将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支
git push origin :master #删除origin主机的master分支
git push origin --delete master #删除origin主机的master分支
git push --all origin #将所有本地分支都推送到origin主机
如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机,使用--force强制推送
git push --force origin #使用--force选项,将会导致远程主机上更新的版本被覆盖
git push origin --tags #git push默认不会推送标签,需要使用--tags指定
本文转自 红尘世间 51CTO博客,原文链接:http://blog.51cto.com/hongchen99/2043566