用了这么久的 git 工具,中途也使用过 SourceTree ,但是最后发现,还是代码香啊!
虽然之前也写过一篇学习笔记「Git教程学习笔记和填坑总结 以及 SourceTree 工具的使用」,但是感觉那篇还是笔记冗余,看起来不是很明确,所以,整理这篇命令大全,可以更好的在工作中查阅相关的git命令。
下面,我们主要分享一下 Git 常用的命令以及详细的命令行讲解,欢迎各位小伙伴一起讨论学习哦~
git --version
git --help
git config --list
# 查询git所使⽤的用户名
git config user.name
# 查询git所使⽤的email
git config user.email
# 注: --global 表示全局, 没有--global表示只查询在当前项目中的配置
git config --global user.name
git config --global user.email
git config --global user.name "username"
git config --global user.email "[email protected]"
git init
git add * # 将工作区所有修改添加到暂存区
git add . # 将工作区所有修改添加到暂存区
git add <file-name> # 将指定文件添加到暂存区
git add *.js # 提交所有 .js 格式文件
git add -f <file-name> # 强制添加 指定文件添加到暂存区
# 注: 指的是文件的名称
git reset <file-name> # 从暂存区恢复指定到工作区
git reset -- . # 从暂存区恢复所有文件到工作区
git reset --hard # 把暂存区的修改退回到工作区
git status
git rm --cached <file-name> # 将本地暂存区的内容移除暂存区
git commit <file-name> ... "相关的记录信息" # 将缓存区的指定文件提交到本地仓库
git commit -m "相关的记录信息" # 将缓存区的所有文件提交到本地仓库
git commit -am '相关的记录信息' # 跳过暂存区域直接提交更新并且添加备注的记录信息
git commit --amend '相关的记录信息' # 使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来修改上一次commit的提交记录信息
git revert HEAD # 撤销最近的一个提交(创建了一个撤销上次提交(HEAD)的新提交)
git revert HEAD^ # 撤销上上次的提交
git log # 查看历史commit记录
git log --oneline # 以简洁的一行显示,包含简洁哈希索引值
git log --pretty=oneline # 查看日志且并且显示版本
git log --stat # 显示每个commit中哪些文件被修改,分别添加或删除了多少行
# 注:空格向下翻页,b向上翻页,q退出
git log --graph
git log --oneline --graph
git reset --hard <Hash> # 回到指定 对应的版本
# 注: 是版本的哈希值
git reset --hard HEAD # 强制工作区、暂存区、本地库为当前HEAD指针所在的版本
git reset --hard HEAD~1 # 后退一个版本
# 注:~ 后面的数字表示回退多少个版本
git branch # 查看所有本地分支
git branch -r # 查看所有远程分支
git branch -a # 查看所有远程分支和本地分支
git branch --merged # 查看已经合并的分支
git branch <branch-name> # 创建分支,依然停留在当前的分支
# 注: 是分支的名称
git checkout <branch-name> # 切换到指定分支,并更新工作区
git checkout - # 切换到上一个分支
git chechout -b <branch-name> # 创建一个新的分支,并切换到这个新建的分支上
git merge <branch-name> # 合并分支到当前分支
git branch -d <branch-name> # 只能删除已经被当前分支合并的分支
git branch -D <branch-name> # 强制删除分支
git push origin --delete <remote-branch-name>
# 注: 远程分支名
git clone <url>
# 注: 远程仓库的地址
git remote add origin <url>
git remote -v
git remote add <alias> <url>
# 注: 远程仓库的别名
git remote rm <alias>
# 注: 远程仓库的别名
git remote rename <old-alias> <new-alias>
# 注: 旧的远程仓库, 新的远程仓库
git fetch <alias/url> <remote-branch-name> # 抓取远程仓库的指定分支到本地,但没有合并
git merge <alias-branch-name> # 将抓取下来的远程的分支,跟当前所在分支进行合并
git pull <alias/url> <remote-branch-name> # 拉取到本地,并且与当前所在的分支进行合并
# 注: 远程仓库的别名 或者是 远程仓库地址
# 远程分支名
⚠️ 在推送前要先拉取哦 git pull
git push <alias/url> <branch-name> # 将本地的每个分支推送到远程仓库
git push <alias/url> --force # 强行推送 当前分支到远程仓库,即使有冲突
git push <alias/url> --all # 推送所有本地分支到远程仓库
# 注: 远程仓库的别名 或者是 远程仓库地址
# 本地分支名
到这,我们在工作中常用的命令也基本差不多了,如有不足之处,欢迎各位指正!
少年!加油!
最后,各位不要忘记一键三连哦~~