Git是什么???

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

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

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

最有用的Git命令语句

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


克隆一个存储库

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

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

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

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

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

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

设置远程连接

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

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

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

想要重命名现有的连接:

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

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

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

下载最新的代码版本

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

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

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

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

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

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

或者用

检查目标分支

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

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

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

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

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

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

对分支的操作

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

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

想要重命名当前的分支:

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

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

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

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


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

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

  1. git分支指的是_你一定知道的Git分支模型

    原标题:你一定知道的Git分支模型 写在前面 本文不是一篇Git入门指南,也不是 Git命令行使用技巧的讲解,而是谈谈作者在过往工作中使用的几种代码版本管理工具的一些体会,同时重点讲解一下Git的分支 ...

  2. 小白需要知道的git命令

    小白需要知道的Git命令 git remote add origin(这里一般这样写,当然可以写别的) 之后写clone or download里复制来的东西,可以ssh或者https git rem ...

  3. 工作中必须要知道的git高级用法

    1. rebase变基 问题: 工作中我们一般是从master分支拉自己的开发分支开发,如果master分支被组长合并了其他同事的开发,也就是master分支ahead你的分支,我们这时一般不能直接提 ...

  4. “Git 是我用过最笨重的软件”!喷完 C++ 喷 Git,这位 Azure CTO 到底何许人也?...

    作者 | 辛晓亮 出品 | CSDN(ID:CSDNnews) 几天前呼吁停用 C++ 改换 Rust 的微软 Azure CTO 这次又在推特上疯狂吐槽 Git,Mark Russinovich 称 ...

  5. git 修改默认分支为main_Git:基本操作

    一. 获取 Git 仓库 我们所说的 Git 仓库实际上指的是『仓库目录』中的所有文件,包括文件快照,数据库,仓库配置等信息.『工作目录』 是由仓库目录中的文件快照恢复得到的.Git 仓库的获取有如下 ...

  6. Django实战技巧(2)-git代码仓分支管理技巧

    Django(1)-简介 Django(2)-创建项目及默认项目目录结构介绍 Django(3)-配置文件详解 Django(4)-URL和视图 Django(5)-路由配置实例 Django(6)- ...

  7. [Git] 拉开发分支的代码报错

    Git拉开发分支的代码报错: fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed ...

  8. Git创建本地分支并关联远程分支

    创建本地分支 git branch 分支名 例如:git branch dev,这条命令是基于当前分支创建的本地分支,假设当前分支是master(远程分支),则是基于master分支创建的本地分支de ...

  9. git 基于发布分支的开发

    创建发布分支: (1) 软件hello-world的1.0发布版本库中有一个里程相对应. /home/jackluo/workspace/user1/workspace/hello-worldgit ...

最新文章

  1. DeepMind的蛋白质折叠AI解决了50年来的生物学重大挑战
  2. hadoop2 作业执行过程之作业提交
  3. golang 执行外部命令 超时处理 exec.CommandContext
  4. 浙江大学计算机视频 百度云,浙江大学 数据结构与算法 全40讲 徐镜春 视频教程...
  5. H.264/AVC视频压缩编码标准的新进展
  6. mysql 存储过程插入慢_mysql存储过程太慢怎么办
  7. 算法原理与分析第二次作业
  8. 一文详解 Try 和异常的区别
  9. OpenBSD 将迎来原生的 Hypervisor
  10. msql查询姓名不带r的员工姓名_《MySQL数据库》关联查询
  11. Fingersmith---指匠情挑
  12. 分布式检测与数据融合:贝叶斯检测理论
  13. 南大通用极速内存数据库
  14. AI 机器视觉/计算机视觉系统在行业中的应用
  15. 影像去雾软件(雾气消除)免费版
  16. 远程连接腾讯云主机中MySQL
  17. 推荐阿里巴巴 15 个前端开源项目
  18. 科学计算机DEG进入,手机计算器全线阵亡是怎么回事?10%+10%到底等于几?附科学计算器使用指导...
  19. sanp 7 1200plc通信
  20. MDM Apple Configurator使用

热门文章

  1. java数据结构基础名词解释
  2. 清除mysql数据碎片_MySQL 清除表空间碎片方法总结
  3. mysql连接查询on_MySql 连接查询中 on 和 where 的区别
  4. hdfs存储与数据同步
  5. Linux 下安装nodejs
  6. C#socket通信时,怎样判断socket双方是否断开连接
  7. APIO2010巡逻(树上带权直径)
  8. Web API Filter ActionFilterAttribute 使用
  9. Android studio每次启动卡在fetching Android sdk compoment information的解决方案
  10. WebService只能在本地使用,无法通过网络访问的解决办法