git 远程操作 git pull git push

发布于 2019-12-28 09:44:17

git pull

用法:

git pull <远程主机名> <远程分支名>:<本地分支名>

常用写法:

  1. 全路径

git pull origin master:master

取回远程主机的master分支 与本地的master分支合并

2.省略本地分支

git pull origin master

取回远程主机名origin的master分支, 并与本地的当前分支合并

实质上,这等同于先做git fetch,再做git merge

git fetch origin

git merge origin/master

  1. 省略远程分支名

在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动"追踪"origin/master分支。

Git也允许手动建立追踪关系。

git branch --set-upstream dev origin/dev

上面命令指定dev分支追踪origin/dev分支。

如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。

$ git pull origin

上面命令表示,本地的当前分支自动与对应的origin主机"追踪分支"(remote-tracking branch)进行合并。

  1. 省略主机名

如果当前分支只有一个追踪分支,连远程主机名都可以省略。

git pull

git push

用法:

git push <远程主机名> <本地分支名>:<远程分支名>

将<本地的分支> 推送到 <远程主机名> 的远程分支

常用写法:

  1. 省略远程分支

git push origin master

将本地的master分支推送到远程主机名origin 的master分支(如果不存在则创建)

  1. 省略本地分支

git push origin :master

将本地一个空分支送到远程的maser分支,实际就是删除远程分支 等同于git push origin --delete master

3.省略本地分支和远程分支

git push origin

如果本地分支和远程分支之间存在追踪关系,则本地分支和远程分支都可以省略

(如果报错,则可能需要建立追踪关系 git push --set-upstream origin dev)

留一下一个疑问:如何查看 这个中追踪关系呢? git remote show origin (查看远程主机的详情)

4 省略远程主机名

git push

只和一个远程主机名关联 如:origin

如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。

$ git push -u origin master

上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。如果要修改这个设置,可以采用git config命令。

git config --global push.default simple

0 条评论

发布
问题

官网
微信

官方微信