Git

Tag

列出本地 Tag

git tag

本地添加 Tag

git tag v1.0.0

删除本地 Tag

git tag -d v1.0.0

把本地 Tag 推送到远程

git push --tags

删除远程 Tag

git push origin -d tag 0.0.2

远程 Tag 删除,本地还在

1
2
git tag -l | xargs git tag -d
git fetch --tags

重命名远程 Tag

1
2
3
4
git tag new old
git tag -d old
git push origin :refs/tags/old
git push --tags

分支

删除本地分支

gbd <branchName>

删除远程分支

gbdr <branchName>

git push origin --delete <branchName>

History

一个 Log 只占一行,用于快速浏览

1
git log --pretty=oneline

展示某个提交的具体细节

1
git show ace518d5172459d95cad6a21efe2ac6068011f2d

修改最后一次 Commit 信息

1
git commit --amend

撤销

撤销所有文件的 add 操作

1
2
3
grh # 推荐使用别名
# 或者
git reset HEAD

撤销某个文件的 add 操作

1
2
3
grh model # 推荐使用别名
# 或者
git reset HEAD modal/a.ts

注意:如果该目录下只有这个文件,那么可以只传目录名

撤销所有文件的修改(无论是否 add)

1
2
3
grhh # 推荐使用别名
# 或者
git reset HEAD -- hard

撤销单个文件的修改(无论是否 add)

1
2
3
4
grhh model # 推荐使用别名
# 或者
git reset HEAD model
git restore model

注意:如果该目录下只有这个文件,那么可以只传目录名

其中别名的定义为

1
2
3
4
5
6
7
8
grhf() {
targetFile="."
if [ $# -gt 0 ] ; then
targetFile=$*
fi
grh "$targetFile"
g restore "$targetFile"
}

git stauts 中文乱码

1
git config --global core.quotepath false
  1. Tag
    1. 列出本地 Tag
    2. 本地添加 Tag
    3. 删除本地 Tag
    4. 把本地 Tag 推送到远程
    5. 删除远程 Tag
    6. 远程 Tag 删除,本地还在
    7. 重命名远程 Tag
  2. 分支
    1. 删除本地分支
    2. 删除远程分支
  3. History
    1. 一个 Log 只占一行,用于快速浏览
    2. 展示某个提交的具体细节
    3. 修改最后一次 Commit 信息
  4. 撤销
    1. 撤销所有文件的 add 操作
    2. 撤销某个文件的 add 操作
    3. 撤销所有文件的修改(无论是否 add)
    4. 撤销单个文件的修改(无论是否 add)
  5. git stauts 中文乱码