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 标签名
#删除指定标签
posted @ 2021-10-10 02:25  qiaoweipeng  阅读(65)  评论(0)    收藏  举报