网站首页 > 技术文章 正文
git log
查看历史的git commit快照操作
[root@tyschool1 git_data]# git log
commit 326e57a3f87de546c8c17774f174192e280e36fc (HEAD -> master)
#哈希字符串的描述信息 HEAD->master表示当前工作目录所对应的commit,会随着新的commit变化(在个别版本中使用git log不会显示HEAD字样内容,需要使用git log --decorate)
Author: aaa <hello@localhost>
#作者
Date: Mon Apr 6 01:00:27 2020 -0400
#时间
v2 a #git commit -m添加的描述信息
commit 8f01c62906ee7c06489aae7afb42adaa3da90fdc
Author: aaa <hello@localhost>
Date: Mon Apr 6 00:43:55 2020 -0400
version2 a
commit a714e37d98c3ab77cfa27f0d0a1ca773c6e4ce57
Author: aaa <hello@localhost>
Date: Sun Apr 5 06:26:53 2020 -0400
a
commit 47a267cc489a93f8fab100d7f945a15209f61240
Author: aaa <hello@localhost>
Date: Sun Apr 5 06:25:51 2020 -0400
a.txt
commit 6ac34be689eda430ffefc12114fde40759d536b0
Author: aaa <hello@localhost>
Date: Sun Apr 5 06:21:02 2020 -0400
a
[root@tyschool1 git_data]# git log --oneline #简单的形式展示内容,只显示哈希标识符的前几位
326e57a (HEAD -> master) v2 a
8f01c62 version2 a
a714e37 a
47a267c a.txt
6ac34be a
############################
[root@tyschool1 git_data]# echo 123 >> a
[root@tyschool1 git_data]# git add a
[root@tyschool1 git_data]# git commit -m "test head"
[master 644d678] test head
1 file changed, 1 insertion(+)
[root@tyschool1 git_data]# git log --oneline --decorate
644d678 (HEAD -> master) test head #产生变化
326e57a v2 a
8f01c62 version2 a
a714e37 a
47a267c a.txt
6ac34be a
git log -p
[root@tyschool1 git_data]# git log -p #显示具体变化的内容,调用了git diff
commit 644d6785e33714f8f21a3767e39e2013540e1ee2 (HEAD -> master)
Author: aaa <hello@localhost>
Date: Mon Apr 6 01:12:02 2020 -0400
test head
diff --git a/a b/a
index b989558..864e0ba 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
hello
test
test1
+123
git log -n
[root@tyschool1 git_data]# git log -1 #只显示最近几条内容
commit 644d6785e33714f8f21a3767e39e2013540e1ee2 (HEAD -> master)
Author: aaa <hello@localhost>
Date: Mon Apr 6 01:12:02 2020 -0400
test head
[root@tyschool1 git_data]# git log -2
commit 644d6785e33714f8f21a3767e39e2013540e1ee2 (HEAD -> master)
Author: aaa <hello@localhost>
Date: Mon Apr 6 01:12:02 2020 -0400
test head
commit 326e57a3f87de546c8c17774f174192e280e36fc
Author: aaa <hello@localhost>
Date: Mon Apr 6 01:00:27 2020 -0400
v2 a
git checkout --
检出,重写工作区数据
[root@tyschool1 git_data]# echo haha >> a
[root@tyschool1 git_data]# cat a
hello
test
test1
123
haha
[root@tyschool1 git_data]# git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: a
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
[root@tyschool1 git_data]# git checkout -- a
[root@tyschool1 git_data]# git status
位于分支 master
无文件要提交,干净的工作区
[root@tyschool1 git_data]# cat a
hello
test
test1
123
git reset HEAD
本地仓库覆盖暂存区域
[root@tyschool1 git_data]# echo "" > a #将a的内容清空
[root@tyschool1 git_data]# git add a #提交到暂存区
[root@tyschool1 git_data]# git commit -m "test head" #提交到仓库
[master dd7925f] test head
1 file changed, 1 insertion(+), 1 deletion(-)
[root@tyschool1 git_data]# echo haha > a #添加内容到a
[root@tyschool1 git_data]# git add a #提交到暂存区
[root@tyschool1 git_data]# git diff a #确认没有差异
[root@tyschool1 git_data]# git reset HEAD a #用本地仓库的数据将暂存区数据覆盖
重置后取消暂存的变更:
M a
[root@tyschool1 git_data]# git diff a #比较工作区和暂存区的数据差异
diff --git a/a b/a
index 8b13789..5ad28e2 100644
--- a/a
+++ b/a
@@ -1 +1 @@
-
+haha
git commit -am
快速提交到本地仓库
[root@tyschool1 git_data]# cat a
haha
[root@tyschool1 git_data]# git diff
[root@tyschool1 git_data]# echo hello >> a
[root@tyschool1 git_data]# git diff
diff --git a/a b/a
index 5ad28e2..5c06d49 100644
--- a/a
+++ b/a
@@ -1 +1,2 @@
haha
+hello
[root@tyschool1 git_data]# git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: a
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
[root@tyschool1 git_data]# git add a
[root@tyschool1 git_data]# git commit -m "add hello"
[master 2add75e] add hello
1 file changed, 1 insertion(+)
[root@tyschool1 git_data]# git diff
######在a文件中添加hello并提交到仓库
[root@tyschool1 git_data]# echo haha >> a
[root@tyschool1 git_data]# git commit -am "add haha"#也可以使用-am直接提交到仓库,相当于先git add再git commit -m,但必须是跟踪状态的文件,参数a必须在m前面,否则会报错,无法提交。
[master f3d6391] add haha
1 file changed, 1 insertion(+)
[root@tyschool1 git_data]# git diff
[root@tyschool1 git_data]# git status
位于分支 master
无文件要提交,干净的工作区
[root@tyschool1 git_data]# git log --oneline
f3d6391 (HEAD -> master) add haha
2add75e add hello
总结
git log
git checkout
git reset HEAD
重点:git相关命令及作用
难点:记住相关命令的使用场景
猜你喜欢
- 2024-09-27 git生成公私钥,并放到github中,免用户名、密码下载代码
- 2024-09-27 这才是真正的Git——Git 全功能揭秘
- 2024-09-27 如果你还不会用git回滚代码,那你一定要来看看
- 2024-09-27 开发工程师的工具包之Git(go开发工程师下载)
- 2024-09-27 idea使用git stash暂存代码。#git
- 2024-09-27 嵌入式高手教程第7集 如何用Git管理本地代码 三哥说技术
- 2024-09-27 Java面试题之项目管理工具 Git 篇
- 2024-09-27 程序员开发必会之git常用命令,git配置、拉取、提交、分支管理
- 2024-09-27 Git 代码防丢指南(代码提交到git怎么忽略文件)
- 2024-09-27 git使用方法,自己整理记录一下(git怎么用?)
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 555℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 503℃MySQL service启动脚本浅析(r12笔记第59天)
- 481℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 479℃启用MySQL查询缓存(mysql8.0查询缓存)
- 459℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 439℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 437℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)