2020-09-07 07:40:35
以下是10个可能不太常用但实用的Git命令及其核心用法:
检查类命令git diff
查看所有本地文件的改动,若需检查单个文件,可在命令后添加文件名。
示例:git diff README.md(仅查看README.md的改动)。
git log
查看完整提交历史,支持按文件筛选(git log -p my_file)。
退出日志查看模式需按 q 键。
git blame my_file
显示文件每行代码的修改者、提交时间及哈希值,便于追踪责任或历史。
示例:git blame app.py(查看app.py的修改记录)。
git reflog
记录本地HEAD的所有变更日志,可用于恢复丢失的提交或分支。
适用场景:误操作后找回未推送的提交。

git reset --hard HEAD
彻底撤销最近一次提交后的所有改动(包括暂存区和非暂存区)。
警告:会永久删除未提交的更改,慎用!
指定提交哈希可撤销至更早状态:git reset --hard abc123。
git checkout my_commit
撤销工作目录中未暂存的改动,常用HEAD表示最近一次提交。
切换分支用法:git checkout branch_name(更新工作目录至目标分支状态)。
git revert my_commit
生成新提交以撤销指定提交的更改,安全适用于协作分支。
示例:git revert abc123(创建反向提交而非删除历史)。

删除未追踪文件或目录:
-n:试运行(不实际删除)。
-f:强制删除文件。
-d:包含未追踪目录。
默认忽略.gitignore中的文件,可通过配置修改。
git commit --amend
将暂存区更改合并到最近一次提交,或修改提交信息(仅限未推送的提交)。
示例:git commit --amend -m "更新提交信息"。
git push my_remote --tags
将所有本地标签推送到远程仓库,常用于版本发布标记。
配合工具(如bump2version)可自动化版本管理。

逃离Vim编辑器:
按 i 进入插入模式。
输入提交信息。
按 Esc 退出插入模式。
输入 :x 保存并退出。
更改默认编辑器:
git config --global core.editor "atom --wait"将默认编辑器改为Atom(需已安装)。
创建命令快捷键:在.bash_profile中添加别名(如alias gs='git status'),简化操作流程。

这些命令覆盖了版本控制中的检查、撤销、整理及效率优化场景,合理使用可显著提升Git操作效率。