git获得当前分支url_笔记本拿出来!软件工程师必须要知道的Git命令语句大汇总...

Git是什么???

da5b58fb9a583ef6b4d1bd7763d63e94.gif

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

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

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

最有用的Git命令语句

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


克隆一个存储库

f96834bccfe03e66c00354e2b376fc70.png

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

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

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

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

12c69e767684592fff41e91378ee6eb8.png

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

969e8f60481fba12c72faa66a19b3d3d.png

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

设置远程连接

d58868f00bdeafd900b38fbf373e10e3.png

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

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

f3c9d4108e0af2d050cb4644d06f9605.png

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

1d1ff8bacd81815e97d1e6ca018129e9.png

想要重命名现有的连接:

5c8bafd93bc884a42e8c830f90daa336.png

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

464d345d3a771d883b3fa0a5b0bdb6a8.png

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

5819b2c1e32606ccc19a3a733b2d33d4.png

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

下载最新的代码版本

686b98052a9ccaf63fcc6d6c5873a88f.png

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

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

1bc69619080f373aa7a4c9e5c2e6432a.png

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

62f99760b2442712e3b2816ce3115f4c.png

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

ce32cafc3174a6f2196c23e2d19d6530.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。

f6832c3651388ccd71b3fc1c0d07fcaa.png

或者用

3a2d4ab59fcd89d6f7fea8424898a0cb.png

检查目标分支

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

61a50b326c893fd135df398cfffe4c98.png

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

35e7df98689e995b1e7ab5083baa9bda.png

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

e1e71b28d935dd58694250941a2c0e24.png

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

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

f4be70de0284edb8cf2ae0ae58f94527.png

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

4946b843dce9448baab05c5a842e0e4b.png

对分支的操作

86f6f44ede07b7be8147873e567b1d24.png

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

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

74432fba42ea8b50c4c8346a6da97cf8.png

想要重命名当前的分支:

4030d97da915a5c16cee1c5eb1d5fdc9.png

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

95b2419ad424b8ebc735f4b2f19abd16.png

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

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

6868030ac94f491ace065b74e39ae87c.png

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

079b0a54d2dfad2407ea95e8317ff405.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值