前言
这偏文章用于给 git 入门的人,讲述 git 中的基本使用
git 的使用中,主要有:
- git clone 克隆线上仓库
- git add 添加文件到本地缓存
- git commit 提交文件到本地仓库
- git push 推送文件到线上仓库
- git pull 拉去线上变更
- git branch 基于当前分支创建新分支
- git checkout 切换分支
- git merge 合并分支
- git cherry-pick 将其他分支的 commit 拷贝到当前分支
其中 git merge 与 git pull 是常见的会发生冲突的
项目初始化
码云创建仓库
从线上克隆仓库
- 复制 git 地址
- 本地对应位置打开终端
- 将线上仓库克隆到本地
idea 初始化
idea 打开刚刚的 git 项目
此时我们将在 idea 中看到一个 git-demo 项目,同时它为一个空项目,它默认的分支为 master 分支
idea 初始化内容
创建 .gitignore 文件,用于忽略一些不需要提交的内容,如 .idea
目录,它是 idea 加载产生的缓存目录,不需要提交到线上
下载 git commit 插件
这个插件可以用来以固定的格式提交 commit 日志,方便后期查看 commit 日志
- 打开 idea 设置窗口
- 定位到 pulgins 界面
- 搜索框输入 git commit 搜索插件
- 然后关闭设置页面,使用
cmd + k
快捷键,打开 git commit 窗口,或者使用以下手动操作打开 git commit 窗口
- 然后可在 git commit 窗口中检查插件是否安装完成
git 简单推送
创建 readme.md
创建文件选择 add,这样提交的时候可以直接执行 commit,idea 层会自动处理 add
输入内容
提交代码到本地仓库 commit
点击 ok 后会在 commit 栏填充输入的内容
点击 commit 提交代码到本地仓库
提交成功
快捷键 cmd + shift + k
推送代码到线上
首次推送需要输入码云的邮箱、密码
推送成功
git 模拟多人协作
模拟多人协作 push 冲突
在本地重新找一个目录,重新克隆线上的 git 仓库,然后用 idea 打开,模拟多人协作
地址2:
地址1:
制造 pull 冲突
在第一个地址中进行以下修改,并提交
在第二个地址中进行以下修改
此时第二个地址 push 代码的时候,本地代码会与线上代码发生冲突
为了提交记录的可读性,使用 rebase 别使用 merge,(rebase 和 merge 原理没有深究,有兴趣可以研究分享给我)
然后会出现下面的解决冲突界面,此时需要我们手动的解决冲突
点击 merge 打开冲突操作界面
点击箭头表示使用更改
点击叉叉表示删除更改
两边更改都保存的样子
只保留了右边更改的样子
只保留了左边更改的样子
如果保存错误可以使用快捷键 cmd + z
撤回操作
此时我同时保留了两边的修改,然后点击 apply 保存
本地的 readme.md 文件中内容已经发生了更新
此时只是在本地仓库发生了冲突合并,还没推送到线上,再次使用 cmd + k
将代码推送到线上
所以还是在代码开发前进行 pull 拉取代码比较安全,这样可以一定程度上降低冲突风险
拉取线上代码的图标
使用 rebase 拉取代码
未完待续。。。
后面还有
- 本地 commit 撤回
- push 线上撤回
- 分支切换
- 本地 merge
- 本地 merge 撤回
- 本地 cherry-pick
- 本地 cherry-pick 撤回
- 打 tag 标签
(git 所有操作都有痕迹可寻,如有问题,请暂停任何操作,寻求帮助)