一,Git环境配置
1.1,简介
- Git 是目前世界上最先进的分布式版本控制系统。
- Git 优点:
- 适合分布式开发,强调个体。
- 公共服务器压力和数据量都不会太大。
- 速度快、灵活。
- 任意两个开发者之间可以很容易的解决冲突。
- 离线工作。
1.2,安装
- 官网下载地址:Git - Downloads
- Windows:
- 点击下载好的安装包安装软件。
- 默认安装即可。
- MacOS:
brew install git
安装完成后验证是否安装成功:
- Windows:
- cmd 中输入命令
git --version
。
- cmd 中输入命令
- MacOS:
- 终端中输入命令
git --version
。
- 终端中输入命令
安装后打开:
-
鼠标右键打开GitBash
-
开始菜单打开GitBash
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 连接的操作
- 生成 SSH Key:打开git bash,输入
ssh-keygen -t rsa -C "your_email@youremail.com"
命令 - 连敲三次回车键,最后生成的ssh key保存在对应目录下面。
- 到对应目录下找到id_rsa.pub文件,里面存储的是生成的公钥。
- 将公钥复制,然后拷贝到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 登录。
- 登录方式:
-
配置Gitee:
- 安装 Gitee 插件:Settings/Preferences → Plungins → Marketplace
- 配置 Gitee:Settings/Preferences → Version Control → Gitee
- 在gitee设置页面 - 安全设置里选择私人令牌 ——点击生成新令牌,复制token填入下记页面,点击保存。
- 在gitee设置页面 - 安全设置里选择私人令牌 ——点击生成新令牌,复制token填入下记页面,点击保存。
4.2 Git常见操作
添加和提交内容
-
点击VCS —— 选择 Enable Version Control Integration —— 点击OK,生成Git
-
点击绿色对勾(表示commit代码)
-
选择VCS ——Git —— 点击push (初次提交填写对应的仓库地址)
-
首次创建项目并提交也可以使用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,保存代码。
- 文件中解决冲突:保留需要的内容,删除其余内容,去掉分割线,保存代码。
-
冲突解决流程:
- 在本地当前分支上,修改冲突内容。
- 执行
git add .
添加到暂存区。 - 执行
git commit -m '提交说明'
提交到本地仓库,完成合并。 - 执行
git push
提交到远程仓库。