兰 亭 墨 苑
期货 · 量化 · AI · 终身学习
首页
归档
编辑文章
标题 *
URL 别名 *
内容 *
(支持 Markdown 格式)
以下是一百条常用 Git 命令及其核心用法,每条一行总结: 1. `git init`:在当前目录创建一个新的本地 Git 仓库。 2. `git clone <url>`:从远程仓库克隆一份完整代码到本地。 3. `git config --global user.name "<name>"`:设置全局提交用户名。 4. `git config --global user.email "<email>"`:设置全局提交用户邮箱。 5. `git status`:查看工作区和暂存区的当前状态。 6. `git add <file>`:将指定文件的改动添加到暂存区。 7. `git add .`:将所有改动(新增/修改/删除)添加到暂存区。 8. `git reset <file>`:将暂存区中指定文件的改动撤回到工作区。 9. `git reset --soft HEAD~1`:撤销上一次提交,将改动保留在暂存区。 10. `git reset --mixed HEAD~1`:撤销上一次提交,将改动保留在工作区(默认模式)。 11. `git reset --hard HEAD~1`:彻底回退到上一次提交,丢弃所有未提交改动。 12. `git mv <old> <new>`:重命名或移动文件,并自动更新索引。 13. `git rm <file>`:从仓库及磁盘中删除文件,并将删除操作加入暂存区。 14. `git commit -m "msg"`:将暂存区的改动打包提交到当前分支。 15. `git commit --amend`:修改最后一次提交,包括提交信息和内容。 16. `git commit -a -m "msg"`:跳过 `git add`,直接提交所有已跟踪文件的改动。 17. `git diff`:查看工作区与暂存区的差异。 18. `git diff --staged`:查看暂存区与最新提交的差异。 19. `git log`:显示分支的提交历史。 20. `git log --oneline`:以单行格式简略显示提交记录。 21. `git log --graph`:以 ASCII 图形展示分支合并历史。 22. `git log -p`:列出每次提交的详细差异。 23. `git show <commit>`:查看某次提交的详情(改动、作者、时间等)。 24. `git blame <file>`:显示文件每行最后一次提交信息及作者。 25. `git grep <pattern>`:在项目中搜索符合模式的行。 26. `git branch`:列出本地分支并标记当前所在分支。 27. `git branch -a`:列出所有本地和远程分支。 28. `git branch <name>`:在当前提交上新建一个本地分支。 29. `git branch -d <name>`:删除已合并到当前分支的本地分支。 30. `git branch -D <name>`:强制删除本地分支(不检查合并状态)。 31. `git branch -m <old> <new>`:重命名本地分支。 32. `git checkout <branch>`:切换到指定分支。 33. `git checkout -b <branch>`:新建并切换到指定分支。 34. `git checkout -- <file>`:丢弃工作区对文件的所有未提交改动。 35. `git merge <branch>`:将指定分支合并到当前分支。 36. `git merge --no-ff <branch>`:使用合并提交而非快进式合并。 37. `git merge --abort`:在冲突时终止合并并恢复到合并前状态。 38. `git rebase <branch>`:将当前分支的提交移到目标分支之后。 39. `git rebase -i <base>`:交互式重写提交历史(修改、合并、删除提交)。 40. `git rebase --onto <newbase> <upstream> <branch>`:把 `<branch>` 上从 `<upstream>` 之后的提交移到 `<newbase>`。 41. `git cherry-pick <commit>`:将指定提交的改动复制到当前分支并生成新提交。 42. `git cherry-pick -n <commit>`:复制改动但不自动提交,以便合并到同一次提交。 43. `git revert <commit>`:生成一个“反向提交”撤销指定提交。 44. `git stash`:将工作区和暂存区的改动收起到堆栈,并还原到 CLEAN 状态。 45. `git stash list`:列出所有被收起的改动快照。 46. `git stash apply`:恢复最近一次收起的改动,但保留该 stash。 47. `git stash pop`:恢复最近一次收起的改动并从 stash 列表中移除它。 48. `git stash drop`:删除最顶层的 stash 快照。 49. `git tag`:列出所有标签。 50. `git tag <name>`:在当前提交打一个轻量标签。 51. `git tag -a <name> -m "msg"`:在当前提交打一个附带说明的注释标签。 52. `git tag -d <name>`:删除本地标签。 53. `git push <remote> <branch>`:将本地分支推送到远程仓库。 54. `git push -u <remote> <branch>`:推送并将本地分支与远程分支关联。 55. `git push --force`:强制覆盖远程分支(会重写历史,谨慎使用)。 56. `git fetch`:从默认远程抓取所有分支和标签更新到本地跟踪分支。 57. `git fetch <remote> <refspec>`:按指定规则抓取远程分支到本地。 58. `git fetch --prune`:抓取前先删除本地已不存在于远程的跟踪分支。 59. `git pull`:等同于 `git fetch` + `git merge`,将远程改动同步并合并。 60. `git pull --rebase`:将远程改动抓取后用 rebase 而非 merge 方式整合。 61. `git remote -v`:显示远程仓库的名称和 URL。 62. `git remote add <name> <url>`:添加一个新的远程仓库别名。 63. `git remote remove <name>`:删除已有的远程仓库别名。 64. `git remote set-url <name> <newurl>`:修改远程仓库的 URL。 65. `git remote update`:抓取所有远程仓库的更新信息。 66. `git clean -n`:模拟显示将被删除的未跟踪文件列表。 67. `git clean -fd`:删除所有未跟踪文件和目录。 68. `git reflog`:查看 HEAD 和分支引用的移动历史(命令记录)。 69. `git reset HEAD@{n}`:利用 reflog 恢复到历史上的某个位置。 70. `git bisect start`:开启二分查找过程,用于定位引入 bug 的提交。 71. `git bisect good <commit>`:标记某提交为“良好”。 72. `git bisect bad <commit>`:标记某提交为“有问题”。 73. `git bisect reset`:结束二分查找并回到初始 HEAD。 74. `git blame -L <start>,<end> <file>`:只查看文件指定行区间的提交归属。 75. `git submodule add <url> <path>`:将一个远程仓库作为子模块添加到指定目录。 76. `git submodule init`:初始化配置文件中已声明的子模块。 77. `git submodule update`:检出子模块到配置的提交状态。 78. `git submodule foreach <cmd>`:在所有子模块目录中依次执行命令。 79. `git worktree add <path> <branch>`:在新目录中检出指定分支,支持多工作区并行。 80. `git worktree remove <path>`:移除先前添加的工作区(不删除路径,仅取消管理)。 81. `git archive <branch> | tar -x`:打包某个分支的快照并解压到当前目录。 82. `git describe --tags`:用最近的标签和提交计数来描述当前 HEAD。 83. `git gc`:清理并优化本地仓库(打包松散对象、回收空间)。 84. `git fsck`:检查仓库对象完整性并报告损坏或丢失引用。 85. `git fsck --lost-found`:将孤立对象保存到 `.git/lost-found`。 86. `git prune`:删除所有无法从任何引用到达的松散对象。 87. `git pack-refs`:把所有引用打包到一个文件以提升性能。 88. `git repack`:将松散对象打包为一个或多个包文件。 89. `git show-ref`:列出所有本地引用(分支、标签、HEAD)。 90. `git symbolic-ref HEAD`:显示当前 HEAD 指向的分支引用名。 91. `git rev-parse <ref>`:解析引用到具体 SHA-1 哈希。 92. `git rev-list <ref>`:列出从某引用开始的所有提交哈希序列。 93. `git cat-file -p <object>`:以可读形式打印任意对象的内容(commit/blob/tree)。 94. `git ls-tree <tree>`:查看某次提交目录下的文件和子目录对象列表。 95. `git grep -n <pattern> <ref>`:在指定提交或分支上搜索并显示行号。 96. `git diff --stat <commit1> <commit2>`:显示两个提交间文件变动摘要。 97. `git diff <commit1>..<commit2>`:显示两个提交之间的完整差异。 98. `git format-patch <since>`:把若干提交导出为可邮件发送的补丁文件。 99. `git apply <patch>`:将补丁文件应用到工作区但不自动提交。 100. `git am <mbox>`:从 mbox 格式邮件应用补丁并自动生成提交。
配图 (可多选)
选择新图片文件或拖拽到此处
标签
更新文章
删除文章