Git bash 撤销提交
前言
最近在 Termux 使用 vim 进行编辑,但粘贴内容时缩进就混乱了。
这个可以这样解决:
1 | :set noai nosi |
这样就取消了自动缩进和智能缩进,这样粘贴就不会错行了。但在有的 vim 中不行,还是排版错乱。
更好的解决方法:
1 | :set paste |
进入 paste 模式以后,可以在插入模式下粘贴内容,不会有任何变形。
Git 的几种状态
1 | 未修改 |
已修改 未暂存
已经修改了文件,还未进行 git add
。
即工作区的内容不想要了。
使用以下任意命令恢复:
1 | git checkout . |
1 | git checkout -- <FILENAME> |
1 | git reset --hard |
已暂存 未提交
已经进行了 git add
,还未进行 git commit
,即暂存区的内容不想要了。
使用以下任意命令恢复:
1 | git reset |
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 | git reset --hard HEAD^ |
丢弃某个节点后的全部提交
即 HEAD 指针指向该节点。
1 | git reset --hard <COMMITID> |
后记
有时候需要删除 Github 上打的 tag,Github 删除 tag 需要在命令行操作。
1 | git tag -d [tag] |
如果分支和 tag 重名了,可以用下面的方法删除:
1 | git tag -d [tag] |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CasecoRI & 小破站!
评论
GiscusTwikoo