【Git】git常用命令

文章目录

  • [git add](#git add)
  • [git commit](#git commit)
  • [git log](#git log)
  • [git blame](#git blame)
  • [git reflog](#git reflog)
  • [git status](#git status)
  • [git diff](#git diff)
  • [git pull](#git pull)
  • [git push](#git push)
  • [git branch](#git branch)
  • [git tag](#git tag)
  • [git stash](#git stash)
  • [git cherry-pick](#git cherry-pick)
  • [git rebase](#git rebase)
  • [git reset](#git reset)
  • [git status](#git status)
  • [git show](#git show)
  • --contains
  • [git config](#git config)
  • git的下标
  • .gitignore
  • 其他

记录下工作中较为常用的git命令

git add

bash 复制代码
git add [filename] # 添加指定文件到暂存区
git add . # 将当前目录及其子目录下的所有修改添加到暂存区
git rm [filename] # 一次性删除文件并将此次删除操作添加到暂存区,后续再git commit
git mv [filename-original] [filename-renamed] # 一次性重命名文件并将此次重命名操作添加到暂存区,后续再git commit

git commit

bash 复制代码
git commit --amend -m "" # 使用一次新的commit替代上一次的提交,会修改commit的hash值

git log

bash 复制代码
git log --oneline -n 5 # 显示最新的前五条提交log,每条log单行显示
git log --follow [filename] # 显示某个文件的版本历史

git blame

bash 复制代码
git blame [filename] # 以列表的形式显示指定文件的修改记录

git reflog

bash 复制代码
git reflog # 查看所有可用的历史版本记录,包含被回退的记录

git status

bash 复制代码
git status -s # -s参数使回显更简洁

git diff

bash 复制代码
git diff [filename] # 比较指定文件在工作区和暂存区中的区别,其效果等同于GUI工具中的打开指定文件的working tree
git diff HEAD~ # 与上一次提交相比较
git diff [commitId1] [commitId2] # 比较两次提交
git diff [branchName] # 查看工作区与某个分支间的差异
git diff --shortstat "@{10 day ago}" # 以简洁方式显示10天内的提交

git pull

bash 复制代码
git pull origin [branchName] # 拉取远程分支,并将其内容合并更新到本地工作区中

git push

bash 复制代码
git push --set-upstream origin [localBranchName] # 将本地新建的分支push到远端,第一次push的时候使用

git branch

bash 复制代码
git branch -r # -r:remote列出所有远程分支
git branch -a # 列出所有分支,远程+本地,不同颜色区分
git checkout -b [newBranchName] [branchName] # 从本地分支新建一个分支并checkout到新分支
git checkout -b [branchName] [commitId] # 根据指定的commitId新建个分支

git tag

bash 复制代码
git tag -l # 列出tag
git tag -l 'tag*' # 列出所有tag开头的标签
git show [tagName] # 查看某个tag的信息

git stash

bash 复制代码
git stash # 暂存当前所有修改
git stash list # 查看所有暂存内容
git stash pop # 恢复隐藏内容, 弹出栈顶
git stash pop stash@{0} # 恢复指定的隐藏内容

git cherry-pick

bash 复制代码
git cherry-pick [commitId] # 把指定的commitId的修改合并到当前分支

git rebase

bash 复制代码
git rebase [branchName] # 变基到指定的分支
git rebase -i [commitId] # 变基到指定的commitid,回车后在编辑器中修改内容

git reset

bash 复制代码
git reset [commitId] # reset到指定的commit

git status

bash 复制代码
git status -s # -s:更为简洁的回显

git show

bash 复制代码
git show [commitId] # 查看某个commit的修改内容

--contains

bash 复制代码
git tag --contains # 查看当前分支上的tag
git branch --contains [commitId] # 查看包含指定commit的分支,会列出本地所有包含该commit的分支
git tag --contains [commitId] # 查找包含指定commit的标签

git config

bash 复制代码
git config -l # -l:--list, 列出配置项
git config -l --system # 查看系统配置
git config -l --global # 查看当前用户的全局配置

git的下标

bash 复制代码
HEAD@{2} # 对应的就是以HEAD起始的第三次提交,2为下标

.gitignore

bash 复制代码
!开头,表示规范例外场景

其他

git命令行中结合grep命令

相关推荐
Winlifes1 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理2 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123452 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s2 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人3 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人3 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅3 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人3 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr3 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林3 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器