当前位置:   article > 正文

git命令 获取不到远程的 新分支名称_笔记本拿出来!软件工程师必须要知道的Git命令语句大汇总!...

git 忘了远程分支名字

Git是什么???

2ad8740d2ea5bbb2f3654b41c1272f7c.gif

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

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

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

最有用的Git命令语句

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


克隆一个存储库

a8e09265795441888732e4344356f5a1.png

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

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

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

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

af044a7fcdc5520afdc0c6009bcc1425.png

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

5d7494d8ba4de34ca7dea1ea26c0a517.png

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

设置远程连接

9640b552124da99e864c0d6d78cfa6bf.png

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

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

00f6740c6fc6cf9a134c2b7389b0b858.png

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

ebf278f31bed09ac4e1f4d0f3b67846c.png

想要重命名现有的连接:

7323366a6065fedb36de2d0494b99bf2.png

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

23c48cb5ee8ac6e485ea7ac40828811e.png

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

0da3a63abd7bc328851cc9bb8b2f7582.png

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

下载最新的代码版本

0803c577f361776d5c260d2d43cf3707.png

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

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

f67dd6f39a5c1ce4caac48ff8e3d4c05.png

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

2062658c37344c0861d337d733e00bca.png

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

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

4f5e1df90bd458f8a5ec5affde8834d7.png

或者用

9884bde54e126f53ec71dfad5fccfc8c.png

检查目标分支

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

e272df24d61d6aba22ec38c1e3bef304.png

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

66d080a41f87617aa3cd5217a47b34f5.png

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

03e8849814dde19bb07ba23d7f827e3a.png

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

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

7d86fe6293c48b915c19a25812e33db5.png

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

dec1cf8d397ccce97ea630f457ec7d79.png

对分支的操作

ffcc81cf89f7ad97f8d70c51dfbb3767.png

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

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

9136e1482545da184e67d097aa8c51b4.png

想要重命名当前的分支:

3391e117233c044e5627c509f7b03564.png

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

e8661e28dcbfa94e9bdc118ab96b577f.png

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

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

663c538c37dd6d491fd6572f8545444e.png

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

c390a9bdee7e5cbe9fd8e82a7906b972.png

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


获取更多求职咨询请添加Techbow小助手微信:Techbow2013

http://Techbow.com​Techbow.com
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/407576
推荐阅读
相关标签
  

闽ICP备14008679号