jck28 - 小柒 - Git代码管理

一,Git环境配置

1.1,简介

  • Git 是目前世界上最先进的分布式版本控制系统。
  • Git 优点:
    • 适合分布式开发,强调个体。
    • 公共服务器压力和数据量都不会太大。
    • 速度快、灵活。
    • 任意两个开发者之间可以很容易的解决冲突。
    • 离线工作。

1.2,安装

  • 官网下载地址:Git - Downloads
  • Windows:
    1. 点击下载好的安装包安装软件。
    2. 默认安装即可。
  • MacOS:
    • brew install git

安装完成后验证是否安装成功:

  • Windows:
    • cmd 中输入命令 git --version
  • MacOS:
    • 终端中输入命令 git --version

安装后打开:

1.3,git工作流程

二,Git仓库和远程连接

2.1,基于 Git 工具的远程仓库

远程仓库 地址 备注
GitHub https://github.com/ 世界上最主流的远程开源仓库。
Gitee https://gitee.com/ 国内目前比较主流的开源仓库,也可以私有化部署。(推荐)
GitLab https://gitlab.com/ 私有化部署,企业使用较多。

2.2, git远程连接方式

2.3, https连接前的全局配置

  • 配置全局帐号:
    • 配置用户名:git config --global user.name "your name"
    • 配置邮箱:git config --global user.email "your_email@youremail.com"
    • 验证配置结果:git config --global --list

2.4,SSH 连接的操作

  1. 生成 SSH Key:打开git bash,输入 ssh-keygen -t rsa -C "your_email@youremail.com"命令
  2. 连敲三次回车键,最后生成的ssh key保存在对应目录下面。
  3. 到对应目录下找到id_rsa.pub文件,里面存储的是生成的公钥。
  4. 将公钥复制,然后拷贝到gitlab 的SSK KEYS中。
  • 各个git仓库公钥的配置路径:
    • GitLab → 我的头像 → Prefereces → SSH keys
    • GitHub → 我的头像 → Settings → SSH and GPG keys → New SSH Key
    • Gitee → 我的头像 → 设置 → 全设置 → SSH 公钥

三,Git常用命令

3.1, git同步命令

  • 克隆远程仓库到本地 : git clone <url>

  • 拉取远程仓库到本地: git pull - 更新最新的代码文件拉到本地

  • 初始化仓库:

    • 在已存在的目录中初始化仓库: git init
    • 关联远程仓库: git remote add origin <url>
    • 初始化的仓库,初次拉取远程仓库到本地:git pull --allow-unrelated-histories origin master

3.2, git修改提交命令

  • 添加文件或目录到暂存区: git add <file>/<directory>
  • 添加当前目录下所有文件到暂存区: git add .
  • 提交到本地仓库: git commit -m "comments"
  • 已修改文件跳过使用暂存区域: git commit -a -m "comments"
  • 推送本地仓库到远程仓库:git push

3.3, Git 常用调试命令

  • 检查当前文件状态: git status
  • 查看已暂存和未暂存的修改
    • 比较当前文件和暂存区域快照之间的差异: git diff
    • 查看已暂存的将要添加到下次提交里的内容: git diff --staged
  • 撤销操作
    • 撤销对文件的修改: git checkout <file>
    • 取消暂存: git reset HEAD <file>
  • 移除文件
    • 删除文件: git rm -f <file>
    • 移出暂存区: git rm --cached <file>
  • 忽略文件
    • .gitignore 文件里配置需要忽略的文件。
    • 有些文件无需纳入 Git 的管理。
    • 比如日志文件,或者编译过程中创建的临时文件。

四,IDEA配置Git

4.1 各远程仓库配置

  • 配置Git:Settings/Preferences → Version Control → Git
  • 配置GitHub:Settings/Preferences → Version Control → GitHub
    • 登录方式:
      • 用户名密码方式登录。
      • Token 方式登录:GitHub 获取 token;配置 Token 登录。

  • 配置GitHub:
    • 安装 Gitee 插件:Settings/Preferences → Plungins → Marketplace
    • 配置 Gitee:Settings/Preferences → Version Control → Gitee
      • 在gitee设置页面 - 安全设置里选择私人令牌 ——点击生成新令牌,复制token填入下记页面,点击保存。

4.2 Git常见操作

添加和提交内容

查看提交记录

回退某次提交记录

  • 点击提交记录,点击右键 ——点击 Revert Commit (该按钮失败时选择Reset Current Branch to Here ——选择hard)

五,Git log分析与检索

  • 查看项目历史信息: git log
  • 筛选时间: git log --since='2023-02-02 00:00:00'
  • 筛选作者: git log --author='feier'
  • 筛选描述: git log --grep='update'

六,Git 分支管理策略

6.1 新建分支

  • 新建分支,但仍然停留在当前分支: git branch 分支名
  • 新建分支并直接切换至该分支: git checkout -b 分支名

6.2 查看分支

  • 列出所有本地分支:git branch
  • 列出所有远程分支: git branch -r
  • 列出所有本地与远程分支:git branch -a

6.3 切换分支

  • 切换到指定分支: git checkout 分支名

6.4 删除分支

  • 删除指定分支: git branch -d 分支名

七,Git 合并与冲突

7.1 分支合并应用场景

  • 合入主分支。
  • 主分支合并其他分支:通常使用 Merge Request 的方式。

7.2 合并分支

  • 合并指定分支到当前分支:
    • git merge 其他分支 本分支
  • 变基:重新设置基准(该命令通常用于某分支只有自己单独使用的场景)
    • git rebase 其他分支

7.2 分支冲突及解决

  • 冲突:

    • 在并行工作的模式下,工作最终会发生重叠。当多个成员以不同的方式更改同一行内容时,在这种情况下,Git 无法判断哪个版本是正确的,这时就会产生冲突。
  • 冲突场景:

    • 多个分支代码合并到一个分支时。
    • 多个分支向同一个远端分支推送代码时。
  • 解决冲突方式:

    • IDE 中解决冲突:选择要保留的内容点击 Accept,保存代码。
    • 文件中解决冲突:保留需要的内容,删除其余内容,去掉分割线,保存代码。
  • 冲突解决流程:

    1. 在本地当前分支上,修改冲突内容。
    2. 执行 git add . 添加到暂存区。
    3. 执行 git commit -m '提交说明' 提交到本地仓库,完成合并。
    4. 执行 git push 提交到远程仓库。