1.前言知识
1.1 git 分区
git有三大分区,平常我们操作git命令的时候,就是把文件提交在不同的分区流转,流程如下。(可参考如下图片理解)
- git add 命令 , 将工作区的文件提交到暂存区里保存。
- git commit 命令 ,将暂存区的文件提交到本地仓库保存。
- git push 命令 , 将本地仓库的文件提交到远程仓库保存。

1.2 git 日志在idea中如何看
一般在idea中,git日志中有3种标签,分别代表不同的含义。各含义如下(可参考下图,图是网上拿别人的):
- 黄色代表head,表示当前分支,当前所在的分支。
- 绿色代表本地分支(已存在本地的分支)。
- 紫色代表远程分支。

2. 在idea中如何用git进行回滚
开发期间,偶尔会因为不小心提交了错误的文件,或者合并别人代码的时候,把别人代码覆盖了,或者合并错误了,需要代码回滚。此时,需要根据代码在不同的分区中的情况,进行代码的回滚。
具体操作如下图:

3. git几种容易搞混的命令
- merge 和 rebase
- git pull 和 git fetch
- git log 和 git reflog
3.1 merge 和 rebase
当我们 git pull 或者是把某个分支合并到远程主分支的时候,在idea中有时会出现冲突,这时会弹出一个框。
如下图:

此时需要我们去合并解决冲突。合并的时候,就需要了解merge 和 rebase有什么区别。其实merge 和 rebase都是合并代码的意思,区别主要是基的不同。
merge合并前的基,如下:

merge合并后的基,如下:

rebase合并前的基,如下:

rebase合并后的基,如下:

基代表着分支日志的展示形式,像rebase,分支日志是一条,看起来很整齐。如下图

而merge的分支日志可以看出分支合并的情况,如下图:

3.2 git pull 和 git fetch
git fetch是将远程主机的最新内容拉到本地仓库,用户在检查了以后决定是否合并到工作本机分支中。
而git pull 则是将远程主机的最新内容拉下来后直接合并本地工作区,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
如下图所示:

3.3 git log 和 git reflog
- git log 命令可以显示所有提交过的版本信息(如果嫌打印的东西太多,可以使用 git log --oneline)
- git reflog 命令可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作),一般用于获取回滚的commitid。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论