整理 Git 配置、分支操作、暂存与回退、rebase、stash 和日志检索命令,按使用频率组织,适合协作开发中处理提交历史与冲突时查阅。

配置

配置分系统级、全局级和仓库级三级,就近覆盖;别名能把长命令缩成两三个字母,用来源参数可查某项来自哪个文件。首次提交前先把用户名和邮箱设好,否则贡献记录对不上人。

[user]
    name = bit

分支

switch 专管切换,带短横 c 是创建并切过去,branch 负责增删查;合并前先确认当前所在分支,删远程分支要显式推送。长期分支建议保持可发布状态,功能开发放短命分支上做完就合。

git switch -c feature/login

暂存与回退

restore 撤工作区改动,加暂存参数只撤暂存区;软重置保留改动并撤提交,已推送的提交要用 revert 生成反向提交,别改写共享历史,引用日志还能找回误删的提交。

git add -p

rebase

把当前分支的提交挪到目标分支之上,得到线性历史;交互模式可合并、改写提交信息,但绝不能对已共享的分支执行。冲突解完用继续参数,发现不对就中止参数回到原样。

git rebase origin/main

stash

临时存放没写完的工作,带短横 u 连同未跟踪文件一起存,pop 恢复并删记录,跨分支搬运改动时很好用。多条记录用编号指定,恢复前先 show 看差异,避免把旧改动盖到新代码上。

git stash pop

日志检索

按作者、时间、代码内容定位提交,带短横大写 S 搜某个字符串何时被加入或删除,blame 逐行看是谁改的。加单行与图形参数看分支走向,限定路径可只看某个目录的演变。

git log --oneline --graph -20