Git 学习

Git

1、版本控制

学习git之前,需要明白一个概念:版本控制

版本控制是一种在开发过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复到以前的版本的软件工程技术。版本迭代

  • 实现跨区域多人协同开发
  • 追踪和记载一个或者多个文件的历史记录
  • 组织和保护你的源代码和文档
  • 统计工作量
  • 并发开发、提高开发效率
  • 跟踪记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间,同时降低人为错误

简单说就是用于管理多人协同开发项目的技术。

没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发中将会引入很多问题:如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性、以及软件的整合问题。

image-20220128225229475

Git Bash:Linux风格的命令行,使用最多。(推荐最多)

Git CMD: Windows风格的命令行。

Git GUI: 图形化的Git,不建议初学者使用,尽量先熟悉常用命令。

3、Linux命令学习

常用的Linux命令(平时一定要多使用这些命令)

  1. cd:改变目录。

  2. cd …/:回到上一目录。

  3. pwd:显示当前所在的目录路径。

  4. ls(ll):列出当前目录中的所有文件,ll列出的内容更详细。

  5. touch:新建一个文件。如: 就会在当前目录下新建一个index.js文件。

  6. rm:删除一个文件。 就是把index.js文件删除。

  7. mkdir:新建一个文件夹。

  8. rm -r:删除一个文件夹。 就是删除src文件夹。

    rm -rf / :切勿在Linux中尝试!删除电脑中全部文件!(Linux中一切皆文件!)

  9. mv:移动文件。,将index.js文件移动到src文件夹下并命名为index.js。

  10. reset:重新初始化终端

  11. clear:清屏

  12. history:查看命令历史

  13. help:帮助

  14. exit:退出

  15. #:表示注释

4、Git环境配置

4.1 查看配置

image-20220129001019579
  • Working Directory: 工作区,就是平时存放项目的地方。
  • Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
  • History: 本地仓库,就是安全存放数据的位置,这里面有你提交的所有版本的数据。其中HEAD指向最新放入仓库的版本。
  • Remote Directory: 远程仓库,托管代码的服务器,可以简单地认为是你项目组中的一台电脑用于远程数据交换。

5.1 工作流程

git的工作流程一般是这样的:

  1. 在工作目录中添加、修改文件。
  2. 将需要进行版本管理的文件放入暂存区域。
  3. 将暂存区域的文件提交到git仓库。

因此,git管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

image-20220129002412704

6.2 本地仓库搭建

搭建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。

6.2.1 创建本地仓库

  1. 创建全新的仓库,需要在需要Git管理的项目的根目录执行:创建一个项目文件夹

  2. 执行Git操作:

  3. 执行后可以看到,仅仅在项目目录多出了一个 目录,关于版本等的信息都在这个目录里面。

    image-20220129003715517
  4. 执行后,会发现整个仓库都已经克隆到本地了。

7、Git文件操作

文件4种状态

  • Untracked: 未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制。通过 状态变为 。
  • Unmodified: 文件已经入库,为修改,即版本库中的文件快照内容和文件夹中完全一致。这种类型的文件有两种去处,如果它被修改,会变为 状态。如果使用 移除版本库,则成为 文件。
  • Modified: 文件已修改,仅仅是修改,并没有进行其他的操作。这个文件也有两个去处,通过 可进入暂存 状态,使用 则丢弃修改过,返回到 状态,这个 即从库中取出文件,覆盖当前修改。
  • Staged: 暂存状态,执行 则将修改同步到库中,这时库中的文件和本地文件又变成一致,文件为 状态。执行 取消暂存,文件状态为 。

7.1 查看文件状态

上面的4种状态,通过以下命令可以查看文件的状态:

7.2 完整操作

7.3 忽略文件

有时候我们不想把某些文件纳入到版本控制中,比如数据库文件、临时文件、设计文件等。

在主目录下建立 文件,此文件有如下规则:

  • 忽略文件中的空行并以井号(#)开始的行将会被忽略。
  • 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问好(代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2})代表可选的字符串等。
  • 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  • 如果名称的最前面是一个路径分隔符(/),表示要忽略此目录下的某个文件夹。
  • 如果名称的最后面是一个路径分隔符(/),忽略目录下的所有文件

8、使用码云 Gitee

  1. 注册登录码云,完善个人信息(官网:https://gitee.com/)

  2. 设置本机绑定SSH公钥,实现免密登录!

    1. 进入 C:Users(用户名).ssh 目录(若没有的话手动创建一个 mkdir .ssh)

    2. 生成公钥

    3. 然后会生成两个文件在 文件夹下。

      image-20220129140531024
    4. 使用码云创建一个自己的仓库。

    9、IDEA集成Git

    1. 新建项目,绑定Git

      若要使该项目成为带Git的项目,那么该项目的根目录下应该有 这个隐藏文件。使用 生成。

    2. 修改文件,使用IDEA操作Git

    3. 提交测试

    image-20220129150747877

    Git 学习

    10.2 合并分支(正常合并)

    新建了一个分支 ,里面内容与 分支一样。然后在 分支中新建一个 文件,并和。然后再切换分支到,然后执行合并操作。成功!

    image-20220129165714281

    再切换到分支,并修改文件,并和。

    image-20220129170116247

    这时候,就要我们手动打开文件,合并内容。

    image-20220129170410683

    image-20220129171242760

    11、Git的commit信息规范

    feat: 新功能(feature)

    fix: 修补bug

    docs: 文档(documentation)

    style: 格式(不影响代码运行的变动)

    refactor: 重构(即不是新增功能,也不是修改bug的代码变动)

    test: 增加测试

    chore: 构建过程或辅助工具的变动

    参考资源:

    • B站狂神说 https://www.bilibili.com/video/BV1FE411P7B3=1&spm_id_from=pageDriver
    • B站尚硅谷 https://www.bilibili.com/video/BV1vy4y1s7k6=18&spm_id_from=pageDriver

    文章知识点与官方知识档案匹配,可进一步学习相关知识Git技能树首页概览2940 人正在系统学习中

    来源:蛋头弹头

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月16日
下一篇 2022年4月16日

相关推荐