开发工具篇第二讲:git使用技巧 从基础到进阶(快速入门/高阶用法/git别名/项目实战/gitLab)

git 是一个开源的分布式版本控制系统,可以有效高速地处理从很小到非常大的项目版本管理。它是Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,git作为版本管理工具,程序员是必须要掌握的。本文是开发工具篇第二讲:主要介绍了git的常规使用方法及在日常开发实战场景中git的应用。

文章目录

      • 1、认识 git
      • 2、git 原理
        • 2.1、git 与其他版本管理系统的主要区别
        • 2.2、git 原理
      • 3、git 的三种状态
      • 4、git 快速使用
        • 4.1、git 基础操作/增删改提交查询
        • 4.2、一个好的 git 提交消息
        • 4.3、推送改动到远程仓库
        • 4.4、查看提交历史
        • 4.5、撤销操作 (类似于c/c++中指针的操作)
        • 4.6、实战场景 git 恢复之前版本的三种方法reset、revert、rebase
          • 1、问题描述
          • 2、解决方案
            • 方法一:git reset
            • 方法二:git revert
            • 方法三:git rebase -i (commit-id) git rebase -i HEAD~(回退几步)
          • 3、这几种方法的区别
          • 4、回退后,后悔了怎么办
        • 4.7、简单对比git pull和git pull --rebase的使用 常用
        • 4.8、合并提交的两种方式
      • 5、git 高阶用法(定制提交/回滚/查看历史/暂存/清理)
        • 5.1、导航--跳到之前的分支
        • 5.2、查看历史
        • 5.3、在所有提交日志中搜索包含「homepage」的提交
        • 5.4、获取某人的提交日志
        • 5.5、之前重置了一个不想保留的提交,但是现在又想要回滚?
        • 5.6、哎哟:我把本地仓库搞得一团糟,应该怎么清理?
        • 5.7、查看我的分支和 master 的不同
          • 适用场景:代码上线前,比对开发分支与master分支差异
        • 5.8、定制提交
        • 5.9、在上次提交中附加一些内容,保持提交日志不变
        • 5.10、空提交--可以用来重新触发 CI 构建
        • 5.11、squash 提交 比方说我想要 rebase (变基)最近 3 个提交
        • 5.12、修正提交信息
        • 5.13、暂存
        • 5.14、清理
      • 6、git 别名(可提高开发效率)
      • 7、git 各分支作用
        • 7.1、分支的基本操作
        • 7.2、git 各分支作用及使用时机
        • 7.3、实战场景 使用git 将 master 分支合到自己的开发分支
        • 7.4、实战场景2 git 合并时 --no-ff 的作用
        • 7.5、git merge --no-ff 和 git merge --squash 有什么区别?
        • 7.6、实战场景4 删除本地那些远程仓库不存在的分支
      • 8、使用git中造成的故障review 20201226
        • 1、在日常开发中,使用 git 的建议
        • 场景1:git merge时代码合并丢失,这是为啥?
        • 场景2:.gitignore 造成的问题,丢失了一天的开发量
        • 场景3:提交错了分支,如何弥补?
        • 场景4:git从某个 commit 提交,检出为新的分支
        • 场景5:合并代码错误导致的问题
        • 场景6:git 如何取消当前合并时的冲突

1、认识 git

  • Linux 内核项目组当时使用分布式版本控制系统 BitKeeper 来管理和维护代码。但是,后来开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统,而且对新的版本控制系统做了很多改进。

2、git 原理

2.1、git 与其他版本管理系统的主要区别

git 在保存和对待各种信息的时候与其它版本控制系统有很大差异,尽管操作起来的命令形式非常相近,理解这些差异将有助于防止你使用中的困惑。
下面我们主要说一个关于 Git

你可能感兴趣的:(常用开发工具,git,java,rebase,cherry-pick)