git命令汇总
最近修改时间:2021年10月21日15:07:58
一、全局变量
设置用户信息
git config --global user.name 用户名
#设置用户名
git config --global user.email 邮箱
#设置邮箱(非有效邮箱也可以)
git config --global --list
#查看配置信息
中文乱码问题
git config --global gui.encoding utf-8
#设置全局字符格式为utf-8
解决bash控制台ls中文文件名乱码
在 Git\etc\git-completion.bash文件中追加一行 alias ls='ls --show-control-chars --color=auto'
commit无法输入中文注释
修改Git\etc\inputrc文件
set output -meta on
set convert -meta off
解决 git log 中文注释乱码问题(只在bash中可用)
在Git\etc\profile中追加一行:export LESSCHARSET=iso8859(如果还是不可以,将iso8859改为utf-8)
解决gitk显示中文乱码问题
git config --global i18n.logoutputencoding utf-8
git config --global i18n.commitencoding utf-8
二、初始化
git init
#初始化本地库
三、工作区操作
注意:下面此操作只针对未添加暂存区的文件,若已经添加暂存区,请查看暂存区操作!
git checkout head readme.txt todo.txt
#撤销readme.txt todo.txt文件的修改(无法找回)
git checkout head *.txt
#撤销所有.txt文件的修改(无法找回)
git checkout head .
#撤销所有文件的修改(无法找回)
三、暂存区操作
git add <file>
#添加指定文件到暂存区
git add *.txt
#添加所有.txt文件到暂存区
git add .
#添加当前目录下所有变动文件到暂存区(包括子目录但不包括空目录)
git restore --staged <file>
#复位在暂存区的文件
git rm --cached <file>
#移除在暂存区的文件(同上)
git ls-files
#查看已经提交过和已经提交到暂存区的所有文件
四、查看状态
git status
#查看本地库当前状态
五、本地库操作
git commit -m "commit message" <file>
#提交暂存区指定文件到本地库(文件名缺省时,将暂存区所有文件提交)
git commit -a -m "commit message"
#提交所有修改过的文件到本地库
git commit -C head -a --amend
#增补提交,不会产生新的提交记录
git commit --amend
#修改上次提交的备注文本
git revert 版本号(7位)
#撤销指定的提交(慎用,会删除本地文件)如果想退回撤销前的版本使用git reset --hard HEAD^
六、版本穿梭
git reset --hard 版本号(7位)
#版本间穿梭(git reflog查看版本号)
git reset --hard HEAD^
#穿梭到上一个版本
七、分支操作
git branch -a
#查看所有的分支(本地和远程)
git branch
#查看本地所有分支(列出所有分支)
git branch -r
##查看远程所有分支
git brach 分支名
#创建分支
git checkout 分支名
#切换到指定分支
git switch 分支名
#切换到指定分支(同上)
git checkout -b 分支名
#创建并切换到此分支(相当于git brach和git checkout两个命令)
git switch -c 分支名
#创建并切换到此分支(同上)
git merge 分支名
#合并某分支到当前分支(假如当前在master分支上,输入 git merge dev 会将dev分支合并到master分支)
git branch -d 分支名
#删除指定分支
git diff 分支1 分支2
#显示两分支差异
git diff 版本号1(7位) 版本号2(7位)
#显示同一分支下两版本差异
八、远程库操作
git remote add 别名 远程仓库地址
#添加别名/远程库
git remote -v
#查看添加过的远程库
git push 别名或远程地址 分支名
#将本地库此分支内容推送到远程库
git push -f
#将本地库此分支内容强制推送到远程库
git fetch 别名 分支名
#将远程库的某个分支的最新内容拉到本地
git clone 远程库地址
#从远程库克隆到本地
git pull 别名或远程地址 分支名
#将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并,相当于git fetch + git merge,这样可能会产生冲突,需要手动解决
九、Log
git reflog
#可以查看所有分支的所有操作记录(包括已被删除的commit记录和reset的操作,git log所不能)
git log
#显示当前分支所有提交过的版本信息
git log --follow 文件名
#显示当前分支所有提交过的关于指定文件版本信息
git log --pre=oneline
#显示当前分支所有提交过的版本信息(精简)
git log --graph
#显示当前分支所有提交过的版本信息(附有分支合并图)
git log -p 别名/分支名
#查看远程库(和本地库对比)更改内容
git show 标签名
#显示标签信息和与之对应的提交信息
git show 版本号(7位)
#显示对应版本对应的提交信息
十、Tag
git tag
#列出所有本地标签
git tag 标签名
#为最新提交创建轻量标签
git tag 标签名 版本号(7位)
#为对应版本号提交创建轻量标签(在后期打标签)
git push 别名或远程地址 --tags
#推送所有标签到远程库
git tag -l 通配模式文本(*)
#根据符合通配模式文本,列出所有本地标
git tag -a 标签名 -m 备注文本
#为最新提交创建附注标签
git tag -d 标签名
#删除指定标签

浙公网安备 33010602011771号