Git学习足迹---常用的基本操作02

接着上一篇,继续学习git的一些常用的基本操作

  • git log — 查看提交日志

该命令可以查询以往仓库中提交的日志,像下面这样:

这里写图片描述

在日志上面可以看到之前加的一些comment 等。

日志相关的一些操作:

  • git log –pretty=short —>只显示提交信息的第一行
  • git log 文件名或目录 —> 只显示与该文件相关或该目录下的日志
  • git log -p —-> 显示文件的改动,文件前后的差别就会显示在提交信息之后
    (这里会进行vim的命令模式,输入:x就可以退出了)
  • git log -p README.md —> 就可以看到README.md文件的提交日志和提交前后的差别

- git diff — 查看前后的差别(这里模糊不清)

我在README.md文件里加上一行文字:#git learning ,然后我们用该操作来看一下:

这里写图片描述

由于我们没用git add 命令向暂存区添加任何东西,所以程序只会显示工作树与最新提交状态之间的差别。用“+”表示新添加的行,“-”表示删除的行,在这里可以看#git learning 前面有一个”+“ 号。

git diff —> 是查看工作树与暂存区的差别
git diff HEAD —> 是查看工作树和最差别,这里的HEAD是指向分支中最新一次提交的指针。前辈指点:在每次执行git commit 之前,先执行git diff HEAD ,可以看到本次提交与上次提交之间的差别。

这里写图片描述

接下来执行git commit

这里写图片描述


常用的基本操作看完后,看一下分支操作

- git branch — 显示分支一览表

这里写图片描述

表示当前所在的分支,结果中没有显示其他分支,表示本地仓库中只有一个master分支。


  • git checkout -b — 创建切换分支

这里写图片描述

上面的的 git checkout -b branch-A 其实等同于下面:

$ git branch branch-A
$ git branch checkout branch-A

这里提到一外名字:培育分支,即我们不断对一个分支 ,像branch-A提交的操作。

我在README.md文件中添加一行 : this is branch-A ,然后执行下面的操作:

这里写图片描述

当我再回到master分支时,可以看到:

这里写图片描述

它会提示你要不要reload 这个文件,点reload 后,README.md文件又回到之前的状态了:

这里写图片描述

即branch-A分支的更改不会影响到master分支。这是它的一个优点。

  • git checkout - 切换回上一个分支

这里写图片描述


这里提到两个概念:

  • 特性分支
    集中实现单一特性,后续实战中再说
  • 主干分支
    主干分支中的代码没有开发到一半的代码,可以随时供他人查看。

  • git merge —- 合并分支

这里写图片描述

先切换回master分支,再输入命令:

$ git merge --no-ff branch-A

可以看到一些信息,这个时候,README.md中又多了之前那一行。说明branch-A分支的内容就合并到master分支中了。

  • git log –graph 以图表形式查看分支

这里写图片描述

这里可以更直观的看到提交日志信息。


  • git reset—– 回溯历史版本

我们上面已经merge了branch-A分支,现在要做的是回到创建branch-A之前的状态,然后此时再创建一个fix-B的分支。

这里写图片描述

在日志中可以查到目标时间点的哈希值,被红色框框起来的部分。此时已经回到了branch-A创建之前的状态

创建fix-B分支,完成后,在README.md文件中加一行:- fix-B,然后commit

这里写图片描述

接下来 推进至branch-A分支merge后的状态,输入git reflog 命令,查看当前仓库的日志,而git log 只能查看以当前状态为终点的历史日志。

这里写图片描述

上面是比较有意思的部分了,将HEAD(即最近一次提交,不知道这么理解对不对)、暂存区、工作树恢复到这个时间点的状态。

现在我们执行merge,针对于README.md文件,branch-A分支对它作了修改,而fix-B同样也对其作了修改:

这里写图片描述

可以看到自动merge失败了,肿么办呢?打开README.md文件看看:

这里写图片描述

只能手动修改了。

这里写图片描述

修改完成后,再commit

这里写图片描述

今天先写到这里,未完待续。

参考书籍:《GitHub 入门与实践》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值