Git时光机穿梭

一.掌握工作区状态
    1.先修改readme.tet的内容

Git is a good software 
Git is a very good software

2.使用git status命令查看有文件被修改过

 凌风@▒▒▒plus MINGW64 /d/GitWarehouse/learngit (master) 
$ git status On branch master Changes not staged for commit:   //文件被修改了   
(use "git add <file>..." to update what will be committed)   
(use "git restore <file>..." to discard changes in working directory)         
modified:   readme.tet  no changes added to commit (use "git add" and/or "git commit -a")//但是还没有提交

3. git diff查看修改内容          

凌风@▒▒▒plus MINGW64 /d/GitWarehouse/learngit (master)
$ git diff
warning: in the working copy of 'readme.tet', LF will be replaced by CRLF the next time Git touches it
diff --git a/readme.tet b/readme.tet
index 6ffa795..995a744 100644
--- a/readme.tet
+++ b/readme.tet
@@ -1,3 +1,2 @@
 Git is a good software
-Git is very good
-
+Git is very good software

最后再将之提交到仓库
      同样的,先add:   $ git add readme.txt
      多一步,再次运行status查看仓库状态

凌风@▒▒▒plus MINGW64 /d/GitWarehouse/learngit (master)
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   readme.tet

 最后commit提交

凌风@▒▒▒plus MINGW64 /d/GitWarehouse/learngit (master)
$ git commit -m"add software"
[master 736eff3] add software
 1 file changed, 1 insertion(+), 2 deletions(-)

 提交后再次status查看当前仓库状态       

凌风@▒▒▒plus MINGW64 /d/GitWarehouse/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean//当前没有需要提交的修改,而且工作目录干净

二.版本回退
  1.多次使用add和commit修改文件
    不断对文件进行修改,然后不断提交修改到版本库里,每当你觉得文件修改到一定程度的时候,就可以用commit保存一下。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失
使用git log 命令查看历史记录此时是从最近到最远的版本展示      

凌风@▒▒▒plus MINGW64 /d/GitWarehouse/learngit (master)
$ git log
commit c695ae7cb1104d50b2d143d98216c0beff51fbf6 (HEAD -> master)
Author: LinFeng <2010947927@qq.com>
Date:   Thu Aug 4 21:38:44 2022 +0800

    add in the world

commit 736eff3df67cd59575539f3eef0f7d2bbd60e49c
Author: LinFeng <2010947927@qq.com>
Date:   Thu Aug 4 21:36:51 2022 +0800

    add software

commit 5ca1391a8db454de616feb9b413151b6f32f0030
Author: LinFeng <2010947927@qq.com>
Date:   Thu Aug 4 21:20:14 2022 +0800

    wrote a readme file

 嫌输出信息太多,看得眼花缭乱的,可以试试加上   $ git log --pretty=oneline

凌风@▒▒▒plus MINGW64 /d/GitWarehouse/learngit (master)
$ git log --pretty=oneline
c695ae7cb1104d50b2d143d98216c0beff51fbf6 (HEAD -> master) add in the world
736eff3df67cd59575539f3eef0f7d2bbd60e49c add software
5ca1391a8db454de616feb9b413151b6f32f0030 wrote a readme file

 类似1094adb...的是commit id(版本号),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示
      每提交一个新版本,实际上Git就会把它们自动串成一条时间线
    版本回退: Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...,上一个版本就是HEAD^,上上一个版本就是HEAD^^,回退过多,比如100,就写成HEAD~100
  小结: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值