赞
踩
一 删除
① 实验环境准备和说明
② 系统rm命令
- ++++++++++'实验思路'++++++++++
-
- rm'删除' --> '还原'
-
- 作用机理:只是删除'工作区'的内容,尚未将'变化'纳入暂存区
③ git rm命令
- 实际场景: 把'误删除'文件到'恢复过来'
-
- 实验思路: 'git rm' 删除 --> '还原'
③ rm和git rm辨析
- +++++++++++++++++'rm 命令'+++++++++++++++++
-
- 'linux 的 rm 命令' --> 只是删除'工作区'的文件,并'没有删除暂存区'的文件
-
- 还原:只需要丢弃'工作目录的变化'
-
- +++++++++++++++++'git rm 命令'+++++++++++++++++
-
- 1)删除'工作区'文件
-
- 2)并且将'这个状态变化<==>被删除文件的行为'放入暂存区
-
- 还原: 首先还原'暂存区'的变化,其次丢弃'工作区'的变化-->'需要两步'
-
- 注意: 'git rm'要删除的文件是'没有修改过'的,就是说和当前版本库文件的'内容相同'
-
- +++++++++++++++++'二者的等价行为'+++++++++++++++++
-
- git rm ceshi.txt '<==>' rm ceshi.txt && git rm --cached ceshi.txt
④ git rm 彻底删除工作区的文件
二 重命名
① 系统命令mv之后一次完整提交
需求: 一次'增加多个'文件 --> 'git add .' -->将当前目录和当前目录下'所有的变化文件'都纳入暂存区
② 系统命令mv之后进行还原
③ git mv 命令之后一次完整的提交
④ git mv 命令之后进行还原
⑤ 二者的辨析
- mv 命令: 只是完成'工作目录中'的重命名
-
- git mv 命令: '首先'完成工作目录中的'重命名','其次'将变化提交到'暂存区'
三 修改提交信息
需求场景: 把'commit'提交信息'写错了-->error',提交之后'想修改'
① 错误方式
② 正确的方式
四 常用日志方式
① 默认行为
- git log'默认行为'会输出 -->'commit hash',、'author'、' commit date'、'commit message'
-
- git log 会按'时间先后顺序'列出所有的提交,最近的更新'排在最上面'
② --oneline
这个命令'简化'git log的'默认的输出'-->仅仅输出'commit hash 前7个字符串'和'commit message'
③ --stat
- --stat: 是在git log 的'基础上'-->'输出文件增删改'的统计数据
-
- --stat 选项在'每次提交'的下面列出'所有被修改过'的文件、有'多少文件被修改了'以及被修改过的文件的'哪些行被移除'或是'添加'了
④ -p
- -p: 控制输出每个commit'具体修改'的内容,输出的形式'以diff的形式'给出
-
- -p 或 --patch ,它会显示每次提交'所引入的差异'(按 '补丁' 的格式输出)
⑤ --author
--author用来'过滤commit' --> '限定'输出给定的'提交用户'
⑥ --after
和--before
- 场景: 限定'指定日期范围'的log
-
- +++++++++++'某个日期之后'+++++++++++
-
- --since=<date>, --after=<date>
- Show commits more recent than a specific date.
-
- --until=<date>, --before=<date>
- Show commits older than a specific date.
-
- //查出 03.12-03.18 期间的提交
- git log --since="2018.03.12" --until="2018.03.18"
⑦ --pretty
- 功能: 这个选项可以使用不'同于默认格式'的方式展示提交历史
-
- 这个选项有一些'内建的子选项'供你使用
-
- 1)oneline 会将每个提交'放在一行'显示,在'浏览大量的提交时'非常有用 -->'一行情书版'
-
- 2)short,full 和 fuller 选项,它们'展示信息的格式基本一致',但是'详尽程度不一'
-
- +++++++++++'图文并茂'+++++++++++
-
- git log --graph --oneline --decorate
-
- –graph 选项会'绘制'一个 'ASCII 图像'来展示提交历史的'分支结构'
-
- –decorate 是用来可以显示出'指向提交的指针'的名字,也就是 'HEAD 指针', feature/test等分支名称,还有远程分支,标签等。
+++++++++"格式符说明"+++++++++
⑧ 补充
- %Cred: 切换到'红色' -->'C --> change'
- %Cgreen: 切换到绿色
- %Cblue: 切换到蓝色
- %Creset: '重设颜色'
- %C(...): 制定颜色, as described in color.branch.* config option
- %n: '换行'
- %d: 'ref名称'
-
- +++++++++++'最佳实践'+++++++++++
-
- git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
-
- +++++++++++'别名的方式'+++++++++++
-
- git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。