前言

最近在 Termux 使用 vim 进行编辑,但粘贴内容时缩进就混乱了。

这个可以这样解决:

1
:set noai nosi

这样就取消了自动缩进和智能缩进,这样粘贴就不会错行了。但在有的 vim 中不行,还是排版错乱。

更好的解决方法:

1
:set paste

进入 paste 模式以后,可以在插入模式下粘贴内容,不会有任何变形。

Git 的几种状态

1
2
3
4
5
6
7
8
9
10
未修改
原始内容
已修改 ↓
工 作 区
已暂存 ↓ git add
暂 存 区
已提交 ↓ git commit
本地仓库
已推送 ↓ git push
远程仓库

已修改 未暂存

已经修改了文件,还未进行 git add。即工作区的内容不想要了。

使用以下任意命令恢复:

1
git checkout .
1
git checkout -- <FILENAME>
1
git reset --hard

已暂存 未提交

已经进行了 git add,还未进行 git commit,即暂存区的内容不想要了。

使用以下任意命令恢复:

1
2
git reset
git checkout .
1
git reset --hard
1
git reset HEAD
1
git reset HEAD -- <FILENAME>

已提交 未推送

已经进行了 git commit,还未进行 git push

使用远程仓库覆盖本地仓库来恢复:

1
git reset --hard origin/分支名

已推送

已经进行了 git push

回滚本地仓库,强制推送覆盖远程仓库:

1
2
git reset --hard HEAD^
git push -f

丢弃某个节点后的全部提交

即 HEAD 指针指向该节点。

1
git reset --hard <COMMITID>

后记

有时候需要删除 Github 上打的 tag,Github 删除 tag 需要在命令行操作。

1
2
git tag -d [tag]
git push origin :[tag]

如果分支和 tag 重名了,可以用下面的方法删除:

1
2
git tag -d [tag] 
git push origin :tags/[tag]