Git

  1. 版本控制的相关概念
  • Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。
  • Git 易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。

1.1版本控制简介

  1. 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
  2. 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

通过版本控制可以实现以下操作:

  • 代码复查
  • 版本回退
  • 协作开发
  • 多人协作开发一个项目时,对项目的修改进行版本维护,避免冲突覆盖

1.2版本控制系统(VCS,Version Control System)

常用的版本控制系统主要分为以下几种类型:

  • 本地式(LVCS,Local VCS):只能管理本机文件版本,对于协作开发需求无能为力。
  • 集中式(CVCS,Centralized VCS)
  • 服务器 + 客户端
  • 服务器保存完整版本历史。
  • 客户端提取最新版本文件进行修改、提交。
  • 服务器故障则整体不可用
  • 分布式(DVCS,Distributed VCS)
  • 本地仓库维护与远程仓库相同数据,不受服务器故障影响。

1.3代码托管和协作开发平台

  • GitHub
  • 网址:https://github.com
  • 双重身份
  • 版本控制工具
  • 开源协作网站
  • 码云
  • 网址:https://gitee.com
  • 团队:开源中国速度快、同时支持Git和SVN、支持项目部署、Android自动构建

2.使用Git对项目代码进行版本控制

Git的简史:


Git工作机制

2.1Git的安装与配置

演示版本为:2.34.1

下载地址:

官网地址: https://git-scm.com/ 

演示版本下载地址:

安装步骤:

  1. 查看 GNU 协议,可以直接点击下一步。
  2. 选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步。
  3. idea每次打开都让登录gitlab idea重新登录git_远程仓库

  4. Git 选项配置,推荐默认设置,然后下一步。
  5. idea每次打开都让登录gitlab idea重新登录git_git_02

  6. Git 安装目录名,不用修改,直接点击下一步。
  7. idea每次打开都让登录gitlab idea重新登录git_idea每次打开都让登录gitlab_03

  8. Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步。
  9. idea每次打开都让登录gitlab idea重新登录git_远程仓库_04

  10. 默认分支名设置,选择让 Git 决定,分支名默认为 master,下一步。
  11. idea每次打开都让登录gitlab idea重新登录git_git_05

  12. 修改 Git 的环境变量,选第一个,不修改环境变量,只在 Git Bash 里使用 Git。
  13. idea每次打开都让登录gitlab idea重新登录git_远程仓库_06

  14. 选择后台客户端连接协议,选默认值 OpenSSL,然后下一步。
  15. idea每次打开都让登录gitlab idea重新登录git_版本控制_07

  16. 配置 Git 文件的行末换行符,Windows 使用 CRLF,Linux 使用 LF,选择第一个自动转换,然后继续下一步。
  17. idea每次打开都让登录gitlab idea重新登录git_版本控制_08

  18. 选择 Git 终端类型,选择默认的 Git Bash 终端,然后继续下一步。
  19. idea每次打开都让登录gitlab idea重新登录git_ide_09

  20. 选择 Git pull 合并的模式,选择默认,然后下一步。
  21. idea每次打开都让登录gitlab idea重新登录git_ide_10

  22. 选择 Git 的凭据管理器,选择默认的跨平台的凭据管理器,然后下一步。
  23. idea每次打开都让登录gitlab idea重新登录git_远程仓库_11

  24. 其他配置,选择默认设置,然后下一步。
  25. idea每次打开都让登录gitlab idea重新登录git_ide_12

  26. 实验室功能,技术还不成熟,有已知的 bug,不要勾选,然后点击右下角的 Install按钮,开始安装 Git。
  27. idea每次打开都让登录gitlab idea重新登录git_远程仓库_13

  28. 点击 Finsh 按钮,Git 安装成功!
  29. idea每次打开都让登录gitlab idea重新登录git_idea每次打开都让登录gitlab_14

  30. 右键任意位置,在右键菜单里选择 Git Bash Here 即可打开 Git Bash 命令行终端。
  31. idea每次打开都让登录gitlab idea重新登录git_idea每次打开都让登录gitlab_15

  32. 在 Git Bash 终端里输入 git --version 查看 git 版本,如图所示,说明 Git 安装成功。 
  33. idea每次打开都让登录gitlab idea重新登录git_版本控制_16

  34. 2.2使用Git

构建Git本地仓库

登录码云网站 https://gitee.com

  • 在码云( Gitee )上创建远程仓库
  • 从码云( Gitee )中获取项目的仓库地址
  • 步骤1 :点击“克隆/下载”按钮
  • 步骤2 :选择“HTTPS”方式
  • 步骤3 :点击“复制”按钮

    1.1初始化本地库:

语法: git init

结果: 示例:

idea每次打开都让登录gitlab idea重新登录git_版本控制_17


1.2 查看本地库状态

语法: git status

idea每次打开都让登录gitlab idea重新登录git_ide_18


1.3 添加暂存区语法: git add 文件名

idea每次打开都让登录gitlab idea重新登录git_远程仓库_19


1.4提交本地库

语法: git commit -m “日志信息” 文件名

idea每次打开都让登录gitlab idea重新登录git_远程仓库_20


1.5上传远程仓库语法:git push <远程仓库url> <本地分支>:<远程分支>

idea每次打开都让登录gitlab idea重新登录git_ide_21

1.6 克隆远程 仓库到本地

语法: git clone 远程地址

1.5修改文件

语法: vim 文件名

idea每次打开都让登录gitlab idea重新登录git_远程仓库_22

1.6 查看历时版本

语法:

git log 查看版本详细信息

git reflog 查看版本信息

idea每次打开都让登录gitlab idea重新登录git_远程仓库_23


1.7版本穿梭语法:git reset -hard 版本号

idea每次打开都让登录gitlab idea重新登录git_远程仓库_24


分支操作

  • 分支的好处
  • 同时并行推进多个功能开发,提高开发效率。
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

1.1查看分支

语法: git branch -v

idea每次打开都让登录gitlab idea重新登录git_git_25


1.2创建分支语法: git branch 分支名

idea每次打开都让登录gitlab idea重新登录git_git_26


1.3切换分支语法:git checkout 分支名

idea每次打开都让登录gitlab idea重新登录git_ide_27


1.4合并分支语法: git merge 分支名

idea每次打开都让登录gitlab idea重新登录git_版本控制_28


1.5产生冲突冲突产生的表现:后面状态为 MERGING

idea每次打开都让登录gitlab idea重新登录git_ide_29


冲突产生的原因:

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须人为决定新代码内容。

1.6解决冲突

1)编辑有冲突的文件,删除特殊符号,决定要使用的内容

特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix

2)添加到暂存区

3)执行提交(注意:此时使用 git commit 命令时不能带文件名)

idea每次打开都让登录gitlab idea重新登录git_版本控制_30

2.3IDEA上传Git远程仓库

1.打开IDEA工具 定位Git程序

idea每次打开都让登录gitlab idea重新登录git_远程仓库_31

2.初始化本地仓库

idea每次打开都让登录gitlab idea重新登录git_版本控制_32

选择要创建的Git本地仓库的工程

idea每次打开都让登录gitlab idea重新登录git_版本控制_33

3.添加到暂存区

右键项目

idea每次打开都让登录gitlab idea重新登录git_git_34

4.提交到本地库

idea每次打开都让登录gitlab idea重新登录git_版本控制_35


idea每次打开都让登录gitlab idea重新登录git_git_36

4.解决冲突

idea每次打开都让登录gitlab idea重新登录git_ide_37

单击Conflicts框中的Merge按钮 进行手动合并代码。

idea每次打开都让登录gitlab idea重新登录git_版本控制_38

5.下拉远程仓 pull

idea每次打开都让登录gitlab idea重新登录git_版本控制_39

6.克隆远程仓

idea每次打开都让登录gitlab idea重新登录git_远程仓库_40


idea每次打开都让登录gitlab idea重新登录git_git_41


url:填入远程仓库的地址3.总结

idea每次打开都让登录gitlab idea重新登录git_idea每次打开都让登录gitlab_42