手机版

Git远程操作详解

时间:2021-10-07 来源:互联网 编辑:宝哥软件园 浏览:

Git是目前最流行的版本管理系统,学习Git几乎成了开发人员的必备技能。Git有很多优点,其中之一就是远程操作非常简单。本文详细介绍了五个Git命令,它们的概念和用法。如果你理解了这些内容,你就完全掌握了Git的远程操作。Git clone git remote git fetch git push本文面向初级用户,从最简单的一个开始,但读者需要了解git的基本用法。同时,本文几乎涵盖了以上五个命令的所有常用用法,对熟练用户也有参考价值。

1.git克隆远程操作的第一步通常是从远程主机克隆一个版本库,然后会用到git clone命令。

$ git克隆版本库的URL,例如,克隆jQuery版本库。

$ git clone https://github.com/jquery/jquery.git此命令将在本地主机上生成一个目录,其名称与远程主机的版本库相同。如果要指定不同的目录名,可以使用目录名作为git clone命令的第二个参数。

$ Git克隆版本库的本地目录名支持各种协议,除了HTTP(s)之外,还支持SSH、Git、本地文件协议等。这里有一些例子。

$ git clone http[s]://example.com/path/to/repo . git/$ git clone ssh ://example.com/path/to/repo . git/$ git clone git ://example.com/path/to/repo.git/$ git clone/opt/git/project . git $ git clone file 3:///opt/git/project . git $ git clone FTP[s]://example.com/path/to/repo . git/有

$ gitclone [[email protected]]示例.com : path/to/repo . git/一般来说,Git协议下载速度最快,SSH协议用于需要用户认证的场合。有关各种协议优缺点的详细讨论,请参考官方文件。

第二,git remote。

Git要求每个远程主机必须指定一个主机名,以便于管理。Git远程命令用于管理主机名。如果没有该选项,git远程命令会列出所有远程主机。

$ git remoteorigin可以通过使用-v选项来引用远程主机的网址。

$ git remote-vor origin[email protected]: jquery/jquery . git(fetch)origin[email protected]: jquery/jquery . git(push)上面的命令表示只有一个远程主机,叫做origin,以及它的网址。克隆版本库时,使用的远程主机由Git自动命名为origin。如果您想使用另一个主机名,您需要使用git clone命令的-o选项来指定它。

$ git clone-o jQuery https://github.com/jquery/jquery.git$ git remote jQuery上面的命令表示克隆时,远程主机被指定为jQuery。Git远程show命令加上主机名可以查看主机的详细信息。

$ git remote show hostname git remote add命令用于添加远程主机。

$ git远程添加主机名URL git远程rm命令用于删除远程主机。

$ git remote rm主机名git remote rename命令用于重命名远程主机。

$ git远程重命名原始主机名新主机名。

Iii .去拿吧。

一旦远程主机的版本库被更新(Git术语称为提交),就需要在本地检索这些更新,因此使用git fetch命令。

$ git fetch远程主机名称上面的命令将在本地检索远程主机的所有更新。默认情况下,git fetch从所有分支检索更新。如果只想检索特定分支的更新,可以指定分支名称。

$ git提取远程主机名分支名称例如,检索原始主机的主分支。

$ git fetch origin master检索到的更新应在本地主机上以“远程主机名/分支名”的形式读取。例如,原产地主机的主机应该由原产地/主机读取。git分支命令的-r选项可以用来查看远程分支,而-a选项可以查看所有分支。

$ git branch-r origin/master $ git branch-a * master remotes/origin/master上述命令表示本地主机的当前分支是master,远程分支是origin/master。检索到远程主机的更新后,可以使用git checkout命令基于它创建一个新的分支。

$ git checkout-b新分支原点/主节点上述命令表示在原点/主节点的基础上创建了一个新分支。此外,还可以使用git merge命令或git rebase命令来合并本地分支上的远程分支。

$ git合并原点/主#或$ git rebase原点/主。上述命令指示在当前分支上合并原点/主点。

四.git拉力

git pull命令用于检索远程主机分支的更新,并将其与本地主机的指定分支合并。它的完整格式稍微复杂一些。

$ git pull远程主机名远程分支名称:本地分支名称。例如,要检索源主机的下一个分支并将其与本地主分支合并,需要编写如下。

$ git pull origin next:master如果远程分支与当前分支合并,冒号后的部分可以省略。

$ git拉下一个原点上面的命令指示原点/下一个分支被检索并与当前分支合并。本质上,这相当于先执行git提取,然后执行git合并。

$ git fetch origin $ git merge origin/next在某些情况下,git会自动在本地分支和远程分支之间建立跟踪关系。例如,在git clone中,默认情况下,所有本地分支和与远程主机同名的分支建立跟踪关系,即本地主分支自动“跟踪”源/主分支。Git还允许手动建立跟踪关系。

git branch-set-upstream master origin/next上面的命令指定主分支跟踪原点/下一个分支。如果当前分支和远程分支之间存在跟踪关系,Git pull可以省略远程分支名称。

$ git pull origin上述命令指示本地当前分支自动与相应的源主机“远程跟踪分支”合并。如果当前分支只有一个跟踪分支,甚至可以省略远程主机名。

$ git pull上面的命令指示当前分支自动与唯一的跟踪分支合并。如果合并需要重基准模式,可以使用- rebase选项。

$ gitpull-rebase远程主机名远程分支名称:本地分支名称。

动词(verb的缩写)git push

Git push命令用于将本地分支的更新推送到远程主机。它的格式类似于git pull命令。

$ git push远程主机名本地分支名称:远程分支名称请注意,分支push序列被写成source : destination,因此git pull是远程分支:的本地分支,而git push是本地分支:远程分支。如果省略远程分支名称,则意味着本地分支被推送到与之存在“跟踪关系”的远程分支(通常两个分支具有相同的名称)。如果远程分支不存在,它将被新建。

$ git push origin master上面的命令指示本地主分支被推送到源主机的主分支。如果后者不存在,它将被创建。如果省略本地分支名称,将删除指定的远程分支,因为这相当于将空的本地分支推送到远程分支。

$ git push origin :master#相当于$ git push origin - delete master。上述命令意味着删除原主机的主分支。如果当前分支和远程分支之间存在跟踪关系,则本地分支和远程分支都可以省略。

$ git push origin上面的命令指示当前分支被推送到原始主机的相应分支。如果当前分支只有一个跟踪分支,可以省略主机名。

$ git push如果当前分支与多个主机有跟踪关系,可以使用-u选项指定默认主机,这样以后就可以在没有任何参数的情况下使用git push了。

$ git push -u origin master上面的命令将本地master分支推送到origin主机,并指定origin为默认主机,那么git push就可以不用任何参数使用了。没有任何参数的Git push默认只推当前分支,称为简单模式。此外,还有一种匹配方法,将所有本地分支与对应的远程分支进行推送。在Git 2.0版本之前,默认使用匹配方法,但现在默认改为简单方法。要修改此设置,可以使用git config命令。

$ gitconfig-globalpush。defaultmatching #或$ gitconfig-globalpush。defaultsimple。在另一种情况下,所有本地分支都被推送到远程主机,而不管是否有相应的远程分支,并且需要使用- all选项。

$ gitpush-all origin上面的命令指示所有本地分支都被推送到原始主机。如果远程主机的版本比本地版本新,Git将在推送时报告错误。在推送到远程主机之前,需要git pull在本地合并差异。此时,如果必须推送,可以使用- force选项。

$ gitpush - forceorigin上面的命令使用-force选项,导致远程主机上的“非快进合并”。除非您确定要这样做,否则您应该尽量避免使用- force选项。最后,git push不会推送标签,除非使用- tags选项。

$ git推送原点标签

版权声明:Git远程操作详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。