
Git常用命令
点击收藏1、Git常用命令
# 初始化本地git仓库(创建新仓库)
git init
# 配置用户名
git config --global user.name "xxx"
# 配置邮件
git config --global user.email "xxx@xxx.com"
# git status等命令自动着色
git config --global color.ui true
git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto
# removeproxy configuration on git
git config --global --unset http.proxy
# clone远程仓库
git clone git+ssh://git@192.168.31.1/VT.git
# 查看当前版本状态(是否修改)
git status
# 添加xyz文件至index
git add xyz
# 增加当前子目录下所有更改过的文件至index
git add .
# 提交
git commit -m 'xxx'
# 合并上一次提交(用于反复修改)
git commit --amend -m 'xxx'
# 将add和commit合为一步
git commit -am 'xxx'
# 删除index中的文件
git rm xxx
# 递归删除
git rm -r *
# 显示提交日志
git log
# 显示1行日志 -n为n行
git log -1
git log -5
# 显示提交日志及相关变动文件
git log --stat
git log -p -m
# 显示某个提交的详细内容
git show xxxxxxxxxxxx
# 可只用commitid的前几位
git show dfb02
# 显示HEAD提交日志
git show HEAD
# 显示HEAD的父(上一个版本)的提交日志 ^^为上两个版本 ^5为上5个版本
git show HEAD^
# 显示已存在的tag
git tag
# 增加v2.0的tag
git tag -a v2.0 -m 'xxx'
# 显示v2.0的日志及详细内容
git show v2.0
# 显示v2.0的日志
git log v2.0
# 显示所有未添加至index的变更
git diff
# 显示所有已添加index但还未commit的变更
git diff --cached
# 比较与上一个版本的差异
git diff HEAD^
# 比较与HEAD版本lib目录的差异
git diff HEAD -- ./lib
# 比较远程分支master上有本地分支master上没有的
git diff origin/master..master
# 只显示差异的文件,不显示具体内容
git diff origin/master..master --stat
# 增加远程定义(用于push/pull/fetch)
git remote add origin git+ssh://git@192.168.53.168/VT.git
# 显示本地分支
git branch
# 显示包含提交500的分支
git branch --contains 500
# 显示所有分支
git branch -a
# 显示所有原创分支
git branch -r
# 显示所有已合并到当前分支的分支
git branch --merged
# 显示所有未合并到当前分支的分支
git branch --no-merged
# 本地分支改名
git branch -m master master_copy
# 从当前分支创建新分支master_copy并检出
git checkout -b master_copy
# 上面的完整版
git checkout -b master master_copy
# 检出已存在的features/per分支
git checkout features/per
# 检出远程分支hotfixes/BJVE并创建本地跟踪分支
git checkout --track hotfixes/BJVE
# 检出版本v2.0
git checkout v2.0
# 从远程分支develop创建新本地分支devel并检出
git checkout -b devel origin/develop
# 检出head版本的README文件(可用于修改错误回退)
git checkout -- README
# 合并远程master分支至当前分支
git merge origin/master
# 合并提交xxxx的修改
git cherry-pick xxxx
# 将当前分支push到远程master分支
git push origin master
# 删除远程仓库的hotfixes/BJVE分支
git push origin :hotfixes/BJVEP933
# 把所有tag推送到远程仓库
git push --tags
# 获取所有远程分支(不更新本地分支,另需merge)
git fetch
# 获取所有原创分支并清除服务器上已删掉的分支
git fetch --prune
# 获取远程分支master并merge到当前分支
git pull origin master
# 重命名文件README为README2
git mv README README2
# 将当前版本重置为HEAD(通常用于merge失败回退)
git reset --hard HEAD
git rebase
# 删除分支hotfixes/BJVE(本分支修改已合并到其他分支)
git branch -d hotfixes/BJVE
# 强制删除分支hotfixes/BJVE
git branch -D hotfixes/BJVE
# 列出git index包含的文件
git ls-files
# 图示当前分支历史
git show-branch
# 图示所有分支历史
git show-branch --all
# 显示提交历史对应的文件修改
git whatchanged
# 撤销提交xxxxxxxxxxxxxxxxxxxxxxxxxxx
git revert xxxxxxxxxxxxxxxxxxxxxxxxxxx
# 内部命令:显示某个git对象
git ls-tree HEAD
# 内部命令:显示某个ref对于的SHA1 HASH
git rev-parse v2.0
# 显示所有提交,包括孤立节点
git reflog
git show HEAD@{5}
# 显示master分支昨天的状态
git show master@{yesterday}
# 图示提交日志
git log --pretty=format:'%h %s' --graph
git show HEAD~3
git show -s --pretty=raw 2be7fcb476
# 暂存当前修改,将所有至为HEAD状态
git stash
# 查看所有暂存
git stash list
# 参考第一次暂存
git stash show -p stash@{0}
# 应用第一次暂存
git stash apply stash@{0}
# 文件中搜索文本“delete from”
git grep "delete from"
git grep -e '#define' --and -e SORT_DIRENT
git gc
git fsck
2、新建Git命令
# 初始化当前项目
$ git init
# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]
# 在指定目录创建一个空的 Git 仓库。运行这个命令会创建一个名为 directory,只包含 .git 子目录的空目录。
$ git init --bare
# 下载一个项目和它的整个代码历史
# 这个命令就是将一个版本库拷贝到另一个目录中,同时也将分支都拷贝到新的版本库中。这样就可以在新的版本库中提交到远程分支
$ git clone [url]
3、更改存在库设置
# 显示当前的Git配置
$ git config --list
# 编辑Git配置文件
$ git config -e [--global]
# 输出、设置基本的全局变量
$ git config --global user.email
$ git config --global user.name
$ git config --global user.email "MyEmail@gmail.com"
$ git config --global user.name "My Name"
# 定义当前用户所有提交使用的作者邮箱。
$ git config --global alias.
# 为Git命令创建一个快捷方式(别名)。
$ git config --system core.editor
4、获取当前库信息
# 显示commit历史,以及每次commit发生变更的文件
$ git log --stat
# 搜索提交历史,根据关键词
$ git log -S [keyword]
# 显示某个commit之后的所有变动,每个commit占据一行
$ git log [tag] HEAD --pretty=format:%s
# 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件
$ git log [tag] HEAD --grep feature
# 显示某个文件的版本历史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]
# 显示指定文件相关的每一次diff
$ git log -p [file]
# 显示过去5次提交
$ git log -5 --pretty --oneline
# 显示所有提交过的用户,按提交次数排序
$ git shortlog -sn
# 显示指定文件是什么人在什么时间修改过
$ git blame [file]
# 显示暂存区和工作区的差异
$ git diff
# 显示暂存区和上一个commit的差异
$ git diff --cached [file]
# 显示工作区与当前分支最新commit之间的差异
$ git diff HEAD
# 显示两次提交之间的差异
$ git diff [first-branch]...[second-branch]
# 显示今天你写了多少行代码
$ git diff --shortstat "@{0 day ago}"
# 比较暂存区和版本库差异
$ git diff --staged
# 比较暂存区和版本库差异
$ git diff --cached
# 仅仅比较统计信息
$ git diff --stat
# 显示某次提交的元数据和内容变化
$ git show [commit]
# 显示某次提交发生变化的文件
$ git show --name-only [commit]
# 显示某次提交时,某个文件的内容
$ git show [commit]:[filename]
# 显示当前分支的最近几次提交
$ git reflog
# 查看远程分支
$ git br -r
# 创建新的分支
$ git br
# 查看各个分支最后提交信息
$ git br -v
# 查看已经被合并到当前分支的分支
$ git br --merged
# 查看尚未被合并到当前分支的分支
$ git br --no-merged
5、工作空间文件添加到缓存区
# 添加一个文件
$ git add test.js
# 添加一个子目录中的文件
$ git add /path/to/file/test.js
# 支持正则表达式
$ git add ./*.js
# 添加指定文件到暂存区
$ git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
$ git add [dir]
# 添加当前目录的所有文件到暂存区
$ git add .
# 添加每个变化前,都会要求确认
# 对于同一个文件的多处变化,可以实现分次提交
$ git add -p
6、工作空间中移除文件
# 移除 Hel.js
$ git rm Hel.js
# 移除子目录中的文件
$ git rm /pather/to/the/file/Hel.js
# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...
# 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]
7、撤销提交
# 恢复暂存区的指定文件到工作区
$ git checkout [file]
# 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]
# 恢复暂存区的所有文件到工作区
$ git checkout .
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]
# 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard
# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]
# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]
# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit]
# 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit]
# 恢复最后一次提交的状态
$ git revert HEAD
# 暂时将未提交的变化移除,稍后再移入
$ git stash
$ git stash pop
# 列所有stash
$ git stash list
# 恢复暂存的内容
$ git stash apply
# 删除暂存区
$ git stash drop
8、同步远程仓库分支
# 下载远程仓库的所有变动
$ git fetch [remote]
# 显示所有远程仓库
$ git remote -v
# 显示某个远程仓库的信息
$ git remote show [remote]
# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]
# 查看远程服务器地址和仓库名称
$ git remote -v
# 添加远程仓库地址
$ git remote add origin git@ github:xxx/xxx.git
# 设置远程仓库地址(用于修改远程仓库地址)
$ git remote set-url origin git@ github.com:xxx/xxx.git
# 删除远程仓库
$ git remote rm
# 上传本地指定分支到远程仓库
# 把本地的分支更新到远端origin的master分支上
# git push
# git push 相当于 git push origin master
$ git push [remote] [branch]
# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force
# 推送所有分支到远程仓库
$ git push [remote] --all
关于关于Git命令工具介绍:
1、Git命令工具是一款专为开发者设计的命令行工具,旨在简化Git操作,提高工作效率。通过提供一系列常用Git命令的快捷方式,开发者可以更轻松地管理代码版本、协作开发和解决冲突。
2、本工具列出了一些常用的Git命令,并带有注释以及操作命令实例。
3、如果您记不下这些Git命令,可以把本工具放到您的电脑桌面。
4、本工具中的Git命令来自网络,不保证失效时,请验证后使用。
推荐工具
励志名言
批量生成励志名言警句
小红书知识博主读书文案
AI帮您快速生成小红书风格的书籍核心内容
小红书美妆文案
帮您快速生成小红书笔记
通知撰写
使用AI帮您快速写一个通知模版
地砖用量计算器
帮助您快速、精准地计算所需的地砖数量
质数(素数)在线计算生成
在线计算指定范围内的所有质数(素数)
在线圆形面积计算器
在线计算圆形面积的小工具
网页META检测
在线检测网页中的META标签信息检测工具
图片修改分辨率(DPI)
在线批量修改图片的分辨率(DPI)
图片翻转
在线图片批量翻转,可垂直翻转,水平翻转
交通标志图片大全
在线查看各种的交通标志图片
生男生女清宫图
清宫珍藏的生男生女预测表
PDF文件添加水印
在线对PDF文件添加水印
PDF文件提取单页
在线提取PDF文件的单页为单个PDF文件
答案之书
在犹豫不决时,找到内心的答案
在线迷宫小游戏
一款在线闯迷宫的小游戏
烟花小游戏
在线模拟放烟花的小游戏
随机MAC地址
随机MAC地址在线生成工具
Shake加密
在线字符串Shake加密工具
文本反转
在线镜像或逆转文本字符串
文字隐藏工具
将一段文本隐藏到别段文本中
网站桌面快捷方式
给网站添加一个桌面快捷方式,方便网站访问
男士西装尺码对照表
男士西装在线尺码通用对照表
血液酒精含量计算
帮您计算喝酒后,血液内酒精的含量