阅前悉知
本文仅是个人在使用git的一些技巧及常用指令笔记!
本系列文章目录
重新编辑最新一次 commit
git commit --amend
我们有时提交了某次 commit 后发现 commit
的 message
写错了需要修改,或者代码上的需要打补丁。常用的做法是重新创建一个新的 commit 来修正。不过有了 git commit --amend
后,就不用这样了。git commit --amend
会让最新一次 commit
回退到缓存的阶段并进入 commit
编辑界面。所以,我们可以对代码以及 commit message
进行重新编辑。commit
后也不会产生新的 commit
记录。
撤销具体某次的commit
git revert <commit-id>
git revert
不同于 git reset
。
git revert
是提取指定 commit 的所修改的反内容,以一个新 commit 的形式覆盖。所以 git revert
的撤销操作会被记录下来。
git reset
是直接撤销指定commit的后的全部commit。
撤销到指定 commit,并将撤销的内容存入缓存
git reset --soft <commit_id>
与 git reset <commit_id>
的区别:
git reset <commit_id>
的撤回并不会将撤销内容存入缓存
与 git commit --amend
的区别:
git commit --amend
撤销操作只能撤销最新一次 commit
, 上一次 commit message
还存在(处于编辑状态);而 git reset --soft <commit_id>
并不局限于最新一次 commit
, 它会把指定 commit
后修改的所有内容全部存入缓存。且不会保存commit message
。
git reset --soft
快捷指令撤销最新一次:
git reset --soft head~1
撤销最新两次:
git reset --soft head~2
撤销最新n次:
git reset --soft head~n
分支当前重命名
git branch -m new_name
git branch -m
指令会重命名当前分支的名字。如果在创建分支时不小心写错单词了,可以该指令直接修改。
查看某个 commit 在哪个分支中
git branch --contains <commit_id>
如果你想查看某个commit
被多少个分支合并了,该指令就可以帮助到你。
查看仓库所有历史操作
git reflog
不同于 git log
, git reflog
可以查看到当前仓库的所有分支的所有操作记录。
注意:
所有操作记录,不局限于
commit
操作。其涵盖了commit
、合并、撤销、分支重命名等等。换句话说,你对仓库的所有操作通过git reflog
都可以查到。而且都可以根据其id
进o行撤回操作。
查看git config 配置
查看全部配置:
git config --list
查看当前用户全局配置:
git config --global --list
查看当前仓库配置:
git config --local --list
查看系统配置
git config --system --list
注:
三种配置优先级为:当前仓库配置>当前用户全局配置>系统配置。
当三者存在冲突时,优先级高的覆盖优先级低的
解决中文乱码
git config core.quotepath false