Git学习日记(一)

《Git 日志美化》

1、设置git自定义命令假名为lg

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"

2、自定义命令调用

git lg

结果如下

* 3b5bb31 - (HEAD -> dev, master) 新的修改,测试rebase功能 (2 days ago) <author>
*   3a2b1f4 - Merge branch 'dev' (2 weeks ago) <author>
|
| * 48b5fd8 - commit from dev (2 weeks ago) <author>
* | 8b82d5c - commit from master (2 weeks ago) <author>
* |   b082301 - Merge branch 'dev' (2 weeks ago) <author>
| 
| |/
| * f0bc772 - dev 第一次修改 (2 weeks ago) <author>
* | b63e306 - master 第一次修改 (2 weeks ago) <author>
|/
* e9cb065 - init commit (2 weeks ago) <author>

《Git重置到指定版本》

1、重置命令格式

git reset [option] B           注:option指定重置类型,有soft、mixed 和 hard三种模式可供选择。

三种选项区别:
(1) soft 不改动工作区和索引 :当使用 git reset --soft B 时,master 和 HEAD 指向 B,但是依然保留了 C 添加跟踪的文件,此时会将这些文件放入暂存区中,显示为已缓存。同时工作区中修改的文件,显示为未缓存。
(2) mixed 保持工作区不变,重置索引 :当使用 git reset --mixed B 时,master 和 HEAD 指向 B,这时候 C 添加跟踪的文件仍然会在,但是会显示为未缓存(不是版本控制),而当前工作目录中的修改内容,仍然会在,显示未缓存的状态
(3) hard 重置索引和工作区(丢弃所有本地变更) :当使用 git reset --hard B 时,C 添加跟踪的文件,以及当前工作目录中的修改内容,都会丢失。

《Git修改已经提交的注释》

1、(可选步骤)修改git默认编辑器为vim

git config –global core.editor vim

2、修改上次提交的注释

git commit --amend

注:编辑完,保存退出即可。(警告:修改注释也会同时变更最新提交的版本hash码!)

3、(扩展情况)如果已经更新到远端,需要强制重新推送最新的提交

git push origin +master:master
原文地址:https://www.cnblogs.com/ganb/p/6291897.html