git 克隆_笔记本拿出来!软件工程师必须要知道的Git命令语句大汇总

Git是什么???

5f592a72fc0ea4f6c64b052fd026e848.gif

在了解Git命令语句之前,首先要先弄清楚什么是Git。

Git是一个现代版的控制系统,由Linux Torvalds从2005年开始开发的一款开源项目。现如今,Git已经被大多数软件团队当做最好的选择。

Git采用了分布式架构,可以让每个开发人员在一个包含有所有更改历史的副本上工作。

最有用的Git命令语句

虽然Git的命令不仅仅有这些,但是如果你掌握了以下这些语句,绝对能大大提高你的工作效率。


克隆一个存储库

a05faa915d5e333a8bf01a83f51e4792.png

有很多的方式都可以复制一个远程存储库,但是有两种方式是最常见的,一个是用HTTPs,一个是用SSH。这两种方式的用的命令是一样的,但是存储库的URL和初始要求会不一样。

用HTTPs克隆需要用户名和密码,如果用了2FA或者单点登录,访问令牌也会被需要。URL会以https://开头。

用SSH克隆需要在本地的机器上使用SSH密钥对,密钥对的公钥需要添加到远程存储库中。URL会以ssh://开头。

如果你只需要克隆一个特定的分支或者一个特定的tag,可以用下方代码。

aba52aff93c3d9ee2ef2904818d36482.png

再或者,你不希望克隆存储库的整个历史,只是需要一定程度的历史深度,那么浅克隆技术可以被用到。

b1fa37d7c2b785cbfb794cb9e21d13cc.png

当你用git clone语句克隆了一个存储库,你将会创建一个名为“origin”的远程连接,自动指回到被克隆的存储库。

设置远程连接

51b48cd24755f429f8117c8841ed465d.png

git remote命令可以让你创建、查看和删除和其他存储库的远程连接。远程连接就像是URL的书签,可以方便我们以后可以便捷地引用。

为了查看带有URL详细信息的远程连接列表,可以用带有“-v”选项的命令。

a14de131f4e418743efc92cb206c26d9.png

添加另一个连接可以使用:

90216efc9dd5578bc4284d2ab905d3af.png

想要重命名现有的连接:

72649ebf385a75e0b756229ea1736e1e.png

如果你不再需要这个连接了,你可以用以下的命令删除它:

2a58ddb2320667fb451702ea3f6cd4eb.png

在和一个团队共同工作了一段时间后,储存库可能会需要一些工作来清除所有过时和合并的分支。在这样的情况下,要删掉远程连接上不再存在的分支的引用,可以用:

d639217ea245f721a9f398867c9f8158.png

但是在做这件事之前,你需要确保本地的存储库已经和远程存储库同步更新到最新版本了。

下载最新的代码版本

92b1802b3e6e60a413908ba08eff56aa.png

git fetch命令帮助你从远程存储库下载文件、提交和引用到本地存储库。它可以让你看到你的团队正在工作的最新的提交历史,并且让你可以在这个基础上检查最新的代码来继续工作。

没有任何选项,get fetch只会下载它克隆的远程存储库。想要获取所有的远程存储库,你可以添加“-all”选项。

6cfe0b1c022f2b862010ea18726d009b.png

如果要获取其他的远程存储库:

548a446b0a6de91adbfb990c38747d93.png

更具体的,如果要获取一个远程存储库的某个分支:

b131f148c8b3a6c84c084ac3a314eb4a.png

还有一句git pull命令,它其实是git fetch和git merge的结合。git fetch下载了远程内容但不更新活动的本地存储库,而git pull可以下载了内容,然后立刻执行git merge来创建一个git commit。如果活动的本地存储库有还在pending的改变,git pull会导致冲突,但是git fetch会保持状态。

如果你不想有新的merge commit,git有两个选项可以帮助你避免创建新的merge commit。

05108889d48be6dc09a82b8fed29fd42.png

或者用

c302319da5c91ea92d6efd2e3df90fb1.png

检查目标分支

在从远程分支上获取了所有的内容之后,你就可以用一行命令来检查远程的分支或是在本地切换现有分支。

10232e098cfaafd45b737b2f0ad45459.png

如果branch name没有特指,git会检查当前的本地分支和远程跟踪的分支,来对比历史记录。你可能会看到以下的结果:

4a28d9a3bedfd5695b0bd7e10ddbcda6.png

而且,利用-b选项,git checkout命令还可以被用来创建一个新的分支,然后立刻切换到新的分支。

b757ffb94beaaa0e721d76918a3c5507.png

如果你在命令里没有指出existing branch,git会把new branch搭建到现在分支的HEAD上。

当branch name匹配多个远程跟踪的分支,为了避免冲突,你可以把remote name包含在branch name前面。

767fa97862ebfa84d7557ada600b62aa.png

亦或者,你可以把新分支命名成和远程跟踪的分支相同的名称。

6bd5b5c8a2ae8bbfe1a1090265f66a14.png

对分支的操作

88b93d8b045027c94c22d408843ac65a.png

这个命令可以列出本地的分支。但是,这个语句可以让你做得比这更多。

首先,为了不用查看新的分支就能创建新分支:

60470afde06f0e93fd0eeb9345e8d4a1.png

想要重命名当前的分支:

3ae99e48e9acc34cb30769026e658dd7.png

想要在本地删除现有的分支:

6d109315c733bf554d88925e30f3cce1.png

-d可以避免你在没有合并更改时删除现有的分支,而-D可以强行让git删除现有的分支。

你可以运用-a来看到所有远程连接的分支:

6c25931216bfccc0adcf5f2bf15429cb.png

如果你想删除一个远程存储库的分支,可以执行以下语句之一。

987a943f45a1febfb5ab7ce7068d7666.png

参考资料:https://medium.com/swlh/the-git-commands-every-software-engineer-should-know-part-1-f2b3ebf5c2cf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值