100个常用git命令
-
以下是100个常用的Git命令:
1. git init – 初始化一个新的Git仓库。
2. git clone [url] – 克隆远程仓库到本地。
3. git status – 检查当前工作区的状态。
4. git add [file] – 将文件添加到暂存区。
5. git commit -m “[message]” – 提交暂存区的文件到本地仓库。
6. git push – 推送本地仓库的修改到远程仓库。
7. git pull – 从远程仓库拉取最新的修改。
8. git branch – 查看所有分支。
9. git checkout -b [branch] – 创建并切换到一个新分支。
10. git checkout [branch] – 切换到指定分支。
11. git merge [branch] – 将指定分支合并到当前分支。
12. git remote -v – 查看远程仓库的地址。
13. git remote add origin [url] – 添加远程仓库的地址。
14. git log – 查看提交记录。
15. git diff – 查看修改的内容。
16. git reset [file] – 撤销对文件的修改。
17. git rm [file] – 从版本库中删除文件。
18. git stash – 将当前的修改暂存起来。
19. git stash pop – 恢复最近一次暂存的修改。
20. git cherry-pick [commit] – 拣选指定的提交到当前分支。
21. git rebase [branch] – 将当前分支的基点移动到指定分支的最新提交上。
22. git tag [name] – 创建一个新的标签。
23. git show [tag] – 查看标签的详细信息。
24. git fetch – 从远程仓库获取最新的修改,不合并。
25. git reset –hard [commit] – 将HEAD指针指向指定的提交,并重置工作区和暂存区。
26. git clean -n – 显示将要被删除的未跟踪文件。
27. git blame [file] – 显示指定文件的每一行是谁修改的。
28. git grep [pattern] – 在版本历史中搜索指定的模式。
29. git config –global user.name [name] – 设置全局用户名。
30. git config –global user.email [email] – 设置全局用户邮箱。
31. git config –global alias.[alias] [command] – 创建别名。
32. git mv [file] [newfile] – 将文件移动或重命名。
33. git remote show [remote] – 查看远程仓库的详细信息。
34. git log –graph – 查看图形化的提交历史。
35. git bisect start – 开始二分查找错误的提交。
36. git blame -L [start],[end] [file] – 显示指定范围行数的每一行是谁修改的。
37. git config –list – 显示当前的Git配置。
38. git stash list – 显示所有暂存的修改。
39. git revert [commit] – 撤销指定的提交。
40. git clean -df – 删除未跟踪的文件和文件夹。
41. git branch -d [branch] – 删除指定的分支。
42. git remote rm [remote] – 移除指定的远程仓库。
43. git show-branch – 查看本地分支的合并情况。
44. git grep [pattern] [branch] – 在指定分支上搜索指定的模式。
45. git commit –amend – 修改最后一次提交的信息。
46. git stash drop [stash] – 删除指定的暂存修改。
47. git push [remote] –delete [branch] – 删除远程分支。
48. git checkout [commit] — [file] – 恢复指定提交中的文件。
49. git revert –no-commit [commit] – 撤销指定提交的修改,暂存到暂存区。
50. git blame -M [file] – 显示文件中每一行是谁修改的,包括文件移动后的情况。51. git pull –rebase – 从远程仓库拉取并进行变基。
52. git cherry-pick [commit1] [commit2] – 拣选指定的两个提交之间的提交到当前分支。
53. git cherry-pick –continue – 继续当前进行中的cherry-pick操作。
54. git cherry-pick –abort – 取消当前进行中的cherry-pick操作。
55. git commit –amend –no-edit – 使用当前的修改追加到最后一次提交中。
56. git push [remote] –tags – 推送本地的所有标签到远程仓库。
57. git fetch [remote] [branch] – 从远程仓库获取指定远程分支的更新。
58. git rebase –abort – 取消当前进行中的变基操作。
59. git rebase –continue – 继续当前进行中的变基操作。
60. git switch [branch] – 切换到指定的分支。
61. git restore [file] – 恢复指定文件的修改。
62. git clean -d – 删除未跟踪的文件夹。
63. git branch -m [newname] – 重命名当前分支。
64. git branch -u [remote]/[branch] – 设置远程分支跟踪关系。
65. git branch -r – 查看所有远程分支。
66. git branch -a – 查看所有分支(包括远程)。
67. git log –oneline – 查看简化的提交历史。
68. git log –author=[name] – 查看指定作者的提交历史。
69. git config –global core.editor [editor] – 设置默认的文本编辑器。
70. git config –global color.ui true – 开启颜色显示。
71. git config –global core.autocrlf [mode] – 设置换行符的处理模式。
72. git clone –depth [depth] [url] – 克隆指定深度的远程仓库。
73. git stash branch [branchname] – 从暂存修改创建新分支。
74. git log –graph –oneline –all – 查看图形化的简化提交历史。
75. git reflog – 查看引用的变更记录。
76. git blame -C [file] – 显示文件中每一行是谁修改的,包括拷贝来源。
77. git reset –soft [commit] – 将HEAD指针指向指定提交,重置暂存区。
78. git reset –mixed [commit] – 将HEAD指针指向指定提交,重置暂存区和工作区。
79. git reset –merge [commit] – 将HEAD指针指向指定提交,重置工作区,保留暂存区。
80. git revert –no-commit [commit1] [commit2] – 撤销指定两个提交之间的所有提交,暂存到暂存区。
81. git grep -w [pattern] [branch] – 在指定分支上搜索指定的单词模式。
82. git grep -I [pattern] – 在版本历史中搜索指定的模式,忽略二进制文件。
83. git stash save [message] – 将当前的修改暂存起来,并添加一条说明。
84. git stash clear – 移除所有暂存的修改。
85. git stash apply – 恢复最近一次暂存的修改,并保留暂存记录。
86. git diff [commit1] [commit2] – 比较指定两个提交之间的差异。
87. git diff –cached – 比较暂存区和最后一次提交之间的差异。
88. git blame -L [start],[end] -S [file] – 显示指定范围行数的每一行是谁修改的,仅包含指定文件的修改。
89. git branch -D [branch] – 强制删除指定的分支。
90. git remote prune origin – 移除远程仓库中不存在的远程分支引用。
91. git cherry-pick [commit1]..[commit2] – 拣选指定两个提交之间的所有提交到当前分支。
92. git cherry-pick [commit1]^..[commit2] – 拣选指定两个提交之间的所有提交(不包括commit1)到当前分支。
93. git cherry-pick -n [commit] – 拣选指定提交的修改到当前分支,但不创建新的提交。
94. git cherry-pick –signoff [commit] – 拣选指定提交的修改到当前分支,并添加签名。
95. git checkout – – 切换到上一个分支。
96. git fetch –prune – 从远程仓库获取最新的修改,并移除已被删除的分支。
97. git remote update origin – 更新远程仓库的引用。
98. git log –pretty=format:”%h%x09%an%x09%ad%x09%s” – 查看简洁的提交历史。
99. git log –since=[date] – 查看指定日期之后的提交历史。
100. git stash branch [branchname] [stash] – 从暂存修改创建新分支,并恢复指定的暂存记录。这是一些常用的Git命令,可以帮助你更好地管理和控制你的代码版本。根据你的需求,选择适合你的命令来完成相应的操作。
2年前 -
1. git init:初始化一个新的Git仓库
2. git clone:克隆一个远程Git仓库到本地
3. git add:将文件添加到暂存区
4. git commit -m “message”:将暂存区的内容提交到本地仓库
5. git status:查看当前工作区的文件状态
6. git log:查看提交历史
7. git branch:列出所有分支
8. git checkout:切换到指定分支
9. git merge:将指定分支合并到当前分支
10. git pull:从远程仓库拉取最新版本到本地
11. git push:将本地仓库的提交推送到远程仓库
12. git stash:将当前的工作区状态保存到堆栈中
13. git stash apply:恢复最近一次的工作区状态
14. git remote add:添加一个远程仓库
15. git remote -v:显示所有远程仓库的详细信息
16. git fetch:从远程仓库获取最新版本到本地,不合并
17. git reset:将当前分支的HEAD指向指定的commit,并丢弃之后的提交
18. git revert:创建一个新的提交,撤销指定的commit
19. git tag:给当前commit打上标签
20. git diff:比较当前工作区与指定commit的差异
21. git config –global user.name “name”:设置全局用户名
22. git config –global user.email “email”:设置全局用户邮箱
23. git remote remove:移除指定的远程仓库
24. git clean -f:清空工作区中未跟踪的文件
25. git branch -d:删除指定分支
26. git cherry-pick:将指定的commit应用到当前分支
27. git rebase:将当前分支的提交在指定分支的基础上重新应用一遍
28. git bisect:使用二分查找定位引入bug的commit
29. git blame:显示指定文件的每一行代码是由谁修改的
30. git config –global alias.“ “:给常用的命令创建一个快捷方式
31. git pull –rebase:从远程拉取最新版本并使用rebase的方式合并
32. git remote prune origin:移除已被删除的远程分支
33. git log –graph:以图形化的方式查看提交历史
34. git show:显示指定commit的详细信息和修改内容
35. git stash list:列出所有保存在堆栈中的工作区状态
36. git reset –hard:将HEAD和当前分支指向指定的commit,并丢弃之后的提交
37. git revert –no-commit:撤销指定commit的更改,并将更改添加到暂存区,但不提交
38. git tag -a-m “message” :给指定commit打上带有说明的标签
39. git cherry-pick –no-commit:将指定commit的更改应用到当前分支,但不提交
40. git rebase –abort:取消正在进行中的变基操作
41. git bisect start:开始一个新的二分查找
42. git blame -L, :只显示指定行范围内的代码是由谁修改的
43. git cherry-pick –continue:继续进行因冲突而中断的cherry-pick操作
44. git reflog:显示所有操作的日志,包括已经被删除的提交和分支
45. git log –author=”“:只显示指定作者的提交历史
46. git stash pop:将最近一次保存在堆栈中的工作区状态恢复,并且从堆栈中删除
47. git reset –mixed:将HEAD和当前分支指向指定的commit,丢弃后面的提交,但保留更改
48. git revert –no-commit HEAD~:撤销最近n个commit的更改,并将更改添加到暂存区,但不提交
49. git tag -d:移除指定的标签
50. git branch -r:列出所有远程分支
51. git push origin –delete:删除远程仓库中的指定分支
52. git log –oneline:以简洁的方式显示提交历史
53. git diff.. :比较两个commit之间的差异
54. git config –global core.editor:设置全局的文本编辑器
55. git remote rename:重命名指定的远程仓库
56. git clean -n:显示将要执行的git clean操作的结果,但不真正执行
57. git branch -m:将指定分支重命名
58. git cherry-pick –abort:取消正在进行中的cherry-pick操作,并恢复到操作之前的状态
59. git blame -C:显示指定文件的每一行代码是由谁修改的,同时也显示代码从其他文件复制而来的情况
60. git reflog show :显示指定引用的操作日志
61. git revert –no-commit HEAD~.. :撤销最近n到m个commit的更改,并将更改添加到暂存区,但不提交
62. git tag -l:根据指定的模式查找符合条件的标签
63. git push –tags:将本地所有标签推送到远程仓库
64. git log –grep=”“:只显示包含指定关键词的提交历史
65. git diff –cached:比较当前暂存区与上一次提交之间的差异
66. git config –global core.autocrlf true:将Windows平台上的换行符自动转换为LF
67. git merge –no-ff:将指定分支合并到当前分支,生成一个新的合并提交
68. git stash drop:删除指定的工作区状态堆栈
69. git reset –soft:将HEAD和当前分支指向指定的commit,并保留后面的提交和更改
70. git revert –no-edit:撤销指定commit的更改,并将更改添加到暂存区,但不修改提交信息
71. git tag -a-m “message” : :给指定commit打上带有说明的标签
72. git cherry-pick -n:将指定commit的更改应用到当前分支,但不提交,并保留后续的更改
73. git rebase –continue:继续进行因冲突而中断的rebase操作
74. git bisect reset:重置二分查找状态,以便进行下一轮查找
75. git blame -M:显示指定文件的每一行代码是由谁修改的,同时也显示代码从其他文件移动而来的情况
76. git stash drop:删除最近一次保存在堆栈中的工作区状态
77. git reset –mixed HEAD~:将HEAD指向最近的n个commit之前的commit,并丢弃之后的提交,但保留更改
78. git reflog expire –expire-unreachable=now –all:移除不可达的操作日志
79. git cherry-pick –no-commit.. :将指定范围内的commit的更改应用到当前分支,但不提交
80. git tag -v:验证指定标签的完整性和数字签名
81. git revert –no-edit HEAD~.. :撤销最近n到m个commit的更改,并将更改添加到暂存区,但不修改提交信息
82. git push origin –delete:删除远程仓库中的指定标签
83. git log –author=”” –before=” “:只显示指定作者在指定日期之前的提交历史
84. git diff… :比较两个commit之间的差异,包括其父节点的差异
85. git config –global core.filemode false:禁用文件权限更改的追踪
86. git remote prune:移除指定远程仓库中已被删除的分支
87. git branch -m:将指定分支重命名为指定的名称
88. git clean -n -d:显示将要执行的git clean操作的结果,包括未跟踪的目录和文件,但不真正执行
89. git cherry-pick –edit:将指定commit的更改应用到当前分支,并打开编辑器以编辑提交信息
90. git rebase –skip:跳过当前冲突的rebase操作,并继续进行后续的变基操作
91. git stash drop -q:静默地删除指定的工作区状态堆栈
92. git reset –soft HEAD~:将HEAD指向最近n个commit之前的commit,并丢弃之后的提交,但保留更改
93. git revert -n: :撤销指定范围内的commit的更改,并将更改添加到暂存区,但不提交
94. git reflog delete ::删除指定引用的操作日志
95. git tag -n:显示指定标签的说明
96. git push –delete origin:删除远程仓库中的指定标签
97. git diff… : :比较两个commit之间的指定文件的差异
98. git config –global core.quotepath false:不对路径中的特殊字符进行转义
99. git remote add:关联指定远程仓库的指定分支
100. git stash drop.. :删除指定范围内的工作区状态堆栈 2年前 -
1. 初始化一个新的仓库
Git init2. 将文件添加到暂存区
Git add <文件名>3. 将暂存区的文件提交到仓库
Git commit -m “提交信息”4. 将本地仓库关联到远程仓库
Git remote add origin <远程仓库URL>5. 从远程仓库克隆代码到本地
Git clone <远程仓库URL>6. 从远程仓库拉取最新的代码
Git pull7. 将本地代码推送到远程仓库
Git push8. 查看git仓库状态
Git status9. 查看修改的文件
Git diff <文件名>10. 创建一个新的分支
Git branch <分支名>11. 切换到指定分支
Git checkout <分支名>12. 创建并切换到一个新的分支
Git checkout -b <新分支名>13. 删除本地分支
Git branch -d <分支名>14. 删除远程分支
Git push origin –delete <远程分支名>15. 合并指定分支到当前分支
Git merge <分支名>16. 从指定的远程仓库拉取代码到本地
Git fetch <远程仓库名>17. 查看历史提交记录
Git log18. 查看指定文件的版本历史
Git log <文件名>19. 回退到上一次提交
Git reset HEAD^20. 回退到指定提交
Git reset21. 撤销对文件的修改
Git checkout — <文件名>22. 查看分支列表
Git branch23. 查看远程仓库列表
Git remote -v24. 查看远程仓库信息
Git remote show <远程仓库名>25. 创建一个轻量级标签
Git tag <标签名>26. 创建一个带注释的标签
Git tag -a <标签名> -m “标签注释”27. 查看标签列表
Git tag28. 查看标签详细信息
Git show <标签名>29. 删除标签
Git tag -d <标签名>30. 将标签推送到远程仓库
Git push origin <标签名>31. 丢弃工作区的修改
Git stash32. 恢复之前丢弃的修改
Git stash apply33. 清空stash列表
Git stash clear34. 查看stash列表
Git stash list35. 将某个分支的部分修改合并到当前分支
Git cherry-pick36. 修改最后一次提交的提交者信息
Git commit –amend –author=”新的用户名 <新的邮箱地址>”37. 修改最后一次提交的提交信息
Git commit –amend -m “新的提交信息”38. 查看某个文件的修改记录
Git blame <文件名>39. 查看分支合并图
Git log –oneline –graph40. 重新运行最后一次提交
Git commit –amend –no-edit41. 切换远程仓库地址
Git remote set-url origin <新的远程仓库URL>42. 拉取远程仓库的所有分支
Git fetch –all43. 恢复到指定提交,并建立一个新的分支
Git checkout -b <新分支名>44. 设置全局用户名
Git config –global user.name “用户名”45. 设置全局邮箱地址
Git config –global user.email “邮箱地址”46. 使用图形化工具查看提交历史
Gitk47. 查看分支之间的差异
Git diff <分支1> <分支2>48. 使用rebase合并分支
Git rebase <分支名>49. 添加一个远程仓库
Git remote add <仓库名>50. 重命名远程仓库
Git remote rename <旧仓库名> <新仓库名>51. 从远程仓库克隆指定分支
Git clone -b <分支名> <远程仓库URL>52. 撤销最后一次提交,并保留修改
Git reset –soft HEAD^53. 将远程仓库抓取至本地,不合并修改
Git fetch54. 强制将本地代码推送到远程仓库
Git push -f55. 将指定的提交修改为一个新的分支
Git branch <新分支名>56. 比较工作区和暂存区之间的差异
Git diff –cached57. 给指定的提交添加注释
Git commit –amend -m “新的提交注释”58. 查看某个提交引入的修改
Git show59. 将工作区的修改回滚到上一次提交
Git checkout — <文件名>60. 删除远程仓库的标签
Git push origin :<标签名>61. 查看某个文件的提交历史
Git log — <文件名>62. 查看两个分支的共同祖先
Git merge-base <分支1> <分支2>63. 将工作区的修改保存到stash中并切换分支
Git stash save “保存的备注” && Git checkout <分支名>64. 创建并切换到一个远程分支
Git checkout -b <新分支名> origin/<远程分支名>65. 在一个新的分支上开始开发
Git checkout -b <新分支名> <起点commit id>66. 查看当前分支的起始点在哪个分支上
Git merge-base @ <分支名>67. 设置标签的引用对象
Git tag -f -a <标签名>68. 查看某个标签的引用对象
Git show-ref –tags -d | grep <标签名>69. 将本地分支重设到远程分支的最新状态
Git reset –hard origin/<远程分支名>70. 将一个标签推送到远程仓库
Git push origin <标签名>71. 查看两个提交之间的差异
Git diff.. 72. 列出标签引用的提交
Git show-ref –tags73. 列出标签的所有引用
Git show-ref –tags -d74. 列出某个远程仓库的所有分支和标签
Git ls-remote <远程仓库URL>75. 生成一个包含多个提交的补丁文件
Git format-patch.. 76. 打补丁
Git apply <补丁文件>77. 查看某个分支的最后一个提交
Git log -n 1 <分支名>78. 创建一个轻量级的标签,并指向最后一次提交
Git tag <标签名> <分支名>79. 改变最后一次提交的提交者信息
Git commit –amend –author “新的作者 <新的邮箱地址>”80. 使用图形化界面查看提交历史
Git gui81. 查看两个分支之间的修改
Git diff <分支1>..<分支2>82. 查看某个文件的指定提交的修改
Git show:<文件名> 83. 删除本地和远程的标签
Git tag -d <标签名>
Git push origin –delete tag <标签名>84. 将远程的分支删除
Git push origin –delete <分支名>85. 查看指定标签的详细信息
Git show <标签名>86. 将当前分支变基到指定的分支上
Git rebase <目标分支>87. 使用指定的提交重置当前分支
Git reset –hard88. 从指定的提交创建一个分支
Git branch <新分支名>89. 查找包含某个关键词的提交
Git log –grep=<关键词>90. 显示某个文件的完整历史记录(包括删除的内容)
Git log –follow <文件名>91. 强制删除本地分支
Git branch -D <分支名>92. 强制删除远程分支
Git push -f origin –delete <分支名>93. 使用指定的提交覆盖某个分支
Git branch -f <分支名>94. 通过重置分支覆盖远程分支
Git push -f origin <分支名>95. 将本地的标签推送到远程仓库
Git push origin –tags96. 将 git 仓库设置为只读
Git config receive.denyCurrentBranch updateInstead97. 检出远程分支到本地
Git checkout -b <本地分支名> origin/<远程分支名>98. 获取远程仓库的变更,但是不合并到本地分支
Git fetch origin99. 重命名一个远程分支
Git branch -m <旧分支名> <新分支名>
Git push origin :<旧分支名> <新分支名>100. 退出 vim 的 log 编辑模式
按 Esc,然后输入 :q!2年前