commit的内容 还原git_工作中必备的git技能(上)

点击蓝字

关注我们

git数据流

6ebb4bb5a28a9b86834ea7465cb051c6.png

图|git数据流

创建本地版本库

什么是版本库?版本库又名仓库,英文名repository,可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件"还原"。

通过命令 git init 把这个目录变成git可以管理的仓库,如下:

92b3cd5ab1062a9ca153777c131326e7.png

图|新建版本库

把文件交给git管控

1)对于目录下存在的新增文件,通过gits status查看为Untracked files状态

git status -查看当前的状态

a076becf2647528f5ff9bf8282641ebb.png

2)git add ${filename} -将文件交给git管控,将修改的文件添加到暂存区

5afde742f8489e5f431cae5bbe402a6a.png

3)git add --all -将工作区修改的所有文件一次性添加至暂存区

650531aebea11a42904f414d4c383906.png

4)git rm --cached ${filename} -将指定文件从暂存区中拉回到工作区:)git add --all -将工作区修改的所有文件一次性添加至暂存区

ee800682472c8242e2ec54d55785a216.png

5)git commit -m "${本次提交内容的注释}" -将暂存区的内容提交到存储库里进行存档

git log -查看当前的commit记录

)git rm --cached ${filename} -将指定文件从暂存区中拉回到工作区:)git add --all -将工作区修改的所有文件一次性添加至暂存区

6d4ba13ae97d7f28fc707d1de772d6b3.png

5)git log --oneline --graph -输出更精简的提交记录(无提交作者和时间等信息)

git log --oneline --graph --grep="${过滤信息}" -通过--grep过滤有用的信息

工作区、暂存区与存储库

ec98daae0b2ca0bb679497d49b8495d1.png

图|工作区、暂存区、本地存储库的概念

修改最后一次commit记录

1)修改最后一次commit的注释信息

git commit --amend -m "${新的注释信息}"

虽然只是修改记录的信息,但是对git来说,因为commit的内容变更(如图中SHA-1发生变更),所以git会重新计算并产生一个新的commit对象,其实相当于一次全新的commit。

958bb3381b47998f78447393011abcab.png

2)最后一次commit追加新的变更

git add --all

git commit --amend --no-edit (--no-edit表示不需要更改commit注释信息)

SHA-1同样发生了变更

8370510503b64840e660f7dee3ae4128.png

撤销修改和删除文件操作

如果想对工作区删除的文件进行恢复,

可使用git checkout ${filename}进行

6b65548267f3456d23a2fb93a1dff0ca.png

通过git checkout命令将暂存区的中的内容或文件拿来覆盖工作目录中的内容或文件。执行git checkout readme.txt会把readme.txt文件恢复到上一次commit的状态

测试如下:

1)新增提交记录

477653c2528e9b79b12058a21bdf0df2.png

2)对readme.txt文件回退到前一个版本的commit状态

6c152ee604545c66f46badae920b83c2.png

3)提交新的commit记录

aaf0dfcc7c98d9c4415a83972d69937c.png

有些文件不想放在git管控中

1)使用命令git config配置忽略配置文件.gitignore。

git config core.excludesfile .gitignore

2)修改.gitignore文件忽略不希望被git托管的文件

文章太长,未完待续

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值