在windows上用gitbash提交代码会遇到中文乱码,git status查看代码状态的时候,中文状态是一串数字如下图:
用git log查看代码提交记录如果是中文显示的也是乱码。在工作中这样会很不方便,所以必须要解决这个工具显示中文不正确的问题
1,右键点击gitbash上面的绿条,弹窗点Options
2, 选择Text,修改编码如下图,然后点击Apply,Save
3, 修改git的全局配置
git config --global core.quotepath false
#界面编码格式
git config --global gui.encoding utf-8
#文件提交编码格式
git config --global i18n.commitencoding utf-8
#LOG输出的编码格式
git config --global i18n.logoutputencoding utf-8
4,查看效果(敏感信息已做处理)
顺便也记录一下git常用的命令
git init
解释:初始化一个Git仓库
举例:在当前目录下创建一个新的Git仓库
git add
解释:将文件添加到暂存区
参数:文件名或目录名
举例:将当前目录下所有文件添加到暂存区
git commit
解释:将暂存区的文件提交到本地仓库
参数:-m 提交信息
举例:提交暂存区的文件并添加提交信息
git push
解释:将本地仓库的文件推送到远程仓库
参数:远程仓库名 分支名
举例:将本地仓库的文件推送到名为origin的远程仓库的master分支
git pull
解释:从远程仓库拉取文件到本地仓库
参数:远程仓库名 分支名
举例:从名为origin的远程仓库的master分支拉取文件到本地仓库
git clone
解释:克隆远程仓库到本地
参数:远程仓库地址
举例:克隆名为origin的远程仓库到本地
git status
解释:查看当前仓库状态
git branch
解释:列出本地分支
git checkout
解释:切换分支或恢复工作区文件
参数:分支名或文件名
举例:切换到名为dev的分支或恢复README.md文件
git merge
解释:合并指定分支到当前分支
参数:分支名
举例:将名为dev的分支合并到当前分支
git remote
解释:列出远程仓库
git fetch
解释:从远程仓库获取最新版本到本地,不会自动合并
参数:远程仓库名 分支名
举例:从名为origin的远程仓库的master分支获取最新版本到本地
git diff
解释:查看文件差异
参数:文件名
举例:查看README.md文件的差异
git log
解释:查看提交历史
git reset
解释:撤销提交或将文件从暂存区移除
参数:文件名或提交ID
举例:将README.md文件从暂存区移除或撤销最近一次提交
git rm
解释:从工作区和暂存区删除文件
参数:文件名
举例:删除README.md文件
git remote add
解释:添加远程仓库
参数:远程仓库名 远程仓库地址
举例:添加名为origin的远程仓库,地址为https://github.com/user/repo.git
git push -u
解释:将本地仓库的文件推送到远程仓库,并将本地分支与远程分支关联
参数:远程仓库名 分支名
举例:将本地仓库的文件推送到名为origin的远程仓库的master分支,并将本地master分支与远程master分支关联
git branch -d
解释:删除本地分支
参数:分支名
举例:删除名为dev的本地分支
git checkout -b
解释:创建并切换到新分支
参数:分支名
举例:创建并切换到名为dev的新分支
git stash
解释:将当前工作区的修改暂存起来,以便后续恢复
git tag
解释:列出或创建标签
参数:标签名
举例:列出所有标签或创建名为v1.0的标签
git show
解释:查看提交或标签的详细信息
参数:提交ID或标签名
举例:查看最近一次提交的详细信息或查看名为v1.0的标签的详细信息
git revert
解释:撤销指定提交
参数含义:提交ID
简单举例:撤销ID为123456的提交
git config
解释:配置Git
参数:--global 用户级别配置,--local 仓库级别配置
举例:设置用户名和邮箱,
--global配置: git config --global user.name "Your Name", git config --global user.email "[email protected]", --local配置: git config user.name "Your Name", git config user.email "[email protected]"
git remote -v
解释:查看远程仓库详细信息
git push origin --delete
解释:删除远程分支
参数:分支名
举例:删除名为dev的远程分支
git fetch --prune
解释:从远程仓库获取最新版本到本地,并删除本地不存在的远程分支
参数:远程仓库名
举例:从名为origin的远程仓库获取最新版本到本地,并删除本地不存在的远程分支
git rebase
解释:将当前分支变基到目标分支
参数:目标分支名
举例:将当前分支变基到名为dev的目标分支
git tag -a
解释:创建带注释的标签
参数:标签名
举例:创建名为v1.0的带注释标签,命令为:git tag -a v1.0 -m "Version 1.0"
git blame
解释:查看文件每一行的修改记录
参数:文件名
举例:查看README.md文件每一行的修改记录
git bisect
解释:二分查找引入bug的提交
git clone --depth
解释:克隆远程仓库到本地,只克隆最近的几次提交
参数:提交数量 远程仓库地址
举例:克隆最近5次提交的名为origin的远程仓库到本地,命令为:git clone --depth 5 https://github.com/user/repo.git
git config --list
解释:列出所有Git配置
git remote show
解释:查看远程仓库详细信息
参数:远程仓库名
举例:查看名为origin的远程仓库详细信息
git remote rename
解释:重命名远程仓库
参数:旧远程仓库名 新远程仓库名
举例:将名为origin的远程仓库重命名为new_origin
git remote remove
解释:删除远程仓库
参数:远程仓库名
举例:删除名为origin的远程仓库
git stash apply
解释:恢复暂存的修改
git stash pop
解释:恢复暂存的修改并删除暂存记录
git stash list
解释:列出所有暂存记录
git stash drop
解释:删除指定暂存记录
参数:暂存记录ID
举例:删除ID为0的暂存记录
git stash clear
解释:删除所有暂存记录
git cherry-pick --continue
解释:继续应用之前选择的提交
git cherry-pick --abort
解释:放弃应用之前选择的提交
git clone --branch
解释:克隆指定分支的远程仓库到本地
参数:分支名 远程仓库地址
举例:克隆名为dev的远程仓库到本地,命令为:git clone --branch dev https://github.com/user/repo.git
git clone --recursive
解释:克隆远程仓库及其子模块到本地
参数:远程仓库地址
举例:克隆名为origin的远程仓库及其子模块到本地,命令为:git clone --recursive https://github.com/user/repo.git
git submodule add
解释:添加子模块到仓库
参数:子模块地址 子模块路径
举例:将名为submodule的子模块添加到当前仓库的submodule路径下,命令为:git submodule add https://github.com/user/submodule.git submodule
git submodule update
解释:更新子模块到最新版本
git submodule foreach
解释:对每个子模块执行指定命令
参数:命令
举例:对所有子模块执行git pull命令,命令为:git submodule foreach git pull
git clone --mirror
解释:克隆远程仓库到本地,并将其变为镜像仓库
参数:远程仓库地址
举例:将名为origin的远程仓库克隆到本地,并将其变为镜像仓库,命令为:git clone --mirror https://github.com/user/repo.git
git push --mirror
解释:将本地仓库推送到镜像仓库
git config --global core.editor
解释:设置默认文本编辑器
参数:编辑器名称
举例:设置默认文本编辑器为Notepad++
git config --global alias.{alias-name} {git-command}
解释:为常用命令设置别名
参数:别名 命令
举例:为git status命令设置别名git st,命令为:git config --global alias.st status
git log --oneline
解释:查看提交历史,每个提交只显示一行信息
git log --graph
解释:查看提交历史,以图形方式展示分支合并情况
参数含义:无
简单举例:查看提交历史,以图形方式展示分支合并情况
git log --author
解释:查看指定作者的提交历史
参数:作者名
举例:查看作者为John的提交历史
git log --grep
解释:查找提交信息中包含指定关键字的提交
参数:关键字
举例:查找提交信息中包含"bug"关键字的提交
git log --since/--until
解释:查看指定时间范围内的提交历史
参数:时间范围,格式为"YYYY-MM-DD"
举例:查看2022年1月1日至2022年1月31日的提交历史,命令为:git log --since=2022-01-01 --until=2022-01-31
git log --stat
解释:查看每个提交的文件修改统计信息
git log --pretty=format
解释:以指定格式展示提交历史
参数:格式字符串
举例:以格式"%h - %an, %ar : %s"展示提交历史
git clone --depth
解释:克隆远程仓库到本地,只克隆最近的几次提交
参数:提交数量 远程仓库地址
举例:克隆最近5次提交的名为origin的远程仓库到本地,命令为:git clone --depth 5 https://github.com/user/repo.git
git clone --branch
解释:克隆指定分支的远程仓库到本地
参数:分支名 远程仓库地址
举例:克隆名为dev的远程仓库到本地,命令为:git clone --branch dev https://github.com/user/repo.git
git clone --recursive
解释:克隆远程仓库及其子模块到本地
参数:远程仓库地址
举例:克隆名为origin的远程仓库及其子模块到本地,命令为:git clone --recursive https://github.com/user/repo.git
git submodule add
解释:添加子模块到仓库
参数:子模块地址 子模块路径
举例:将名为submodule的子模块添加到当前仓库的submodule路径下,命令为:git submodule add https://github.com/user/submodule.git submodule
git submodule update
解释:更新子模块到最新版本
git submodule foreach
解释:对每个子模块执行指定命令
参数:命令
举例:对所有子模块执行git pull命令,命令为:git submodule foreach git pull
git clone --mirror
解释:克隆远程仓库到本地,并将其变为镜像仓库
参数:远程仓库地址
举例:将名为origin的远程仓库克隆到本地,并将其变为镜像仓库,命令为:git clone --mirror https://github.com/user/repo.git
git log --pretty=format:"%h - %an, %ar : %s"
解释:查看提交历史,以指定格式展示每个提交的信息
git add
解释:将文件添加到暂存区
参数:文件名
举例:将README.md文件添加到暂存区
git commit
解释:提交暂存区的文件到本地仓库
参数:无
举例:提交暂存区的文件到本地仓库
git push
解释:将本地仓库的文件推送到远程仓库
参数:远程仓库名 分支名
举例:将本地仓库的文件推送到名为origin的远程仓库的master分支
git pull
解释:从远程仓库获取最新版本并合并到本地仓库
参数:远程仓库名 分支名
举例:从名为origin的远程仓库的master分支获取最新版本并合并到本地仓库
git clone
解释:克隆远程仓库到本地
参数:远程仓库地址
举例:克隆名为origin的远程仓库到本地
git init
解释:初始化本地仓库
git help
解释:查看Git帮助信息
git version
解释:查看Git版本信息
git diff
解释:查看文件修改前后的差异
参数:文件名
举例:查看README.md文件修改前后的差异
git reset
解释:撤销暂存区的文件
参数:文件名
举例:撤销暂存区的README.md文件
git rm
解释:从本地仓库和工作区删除文件
参数:文件名
举例:从本地仓库和工作区删除README.md文件
git mv
解释:重命名或移动文件
参数:原文件名 新文件名
举例:将README.md文件重命名为README.txt
git clone --bare
解释:克隆远程仓库到本地,并将其变为裸仓库
参数:远程仓库地址
举例:将名为origin的远程仓库克隆到本地,并将其变为裸仓库,命令为:git clone --bare https://github.com/user/repo.git
git push --force
解释:强制推送本地仓库的文件到远程仓库
参数:远程仓库名 分支名
举例:强制推送本地仓库的文件到名为origin的远程仓库的master分支
git pull --rebase
解释:从远程仓库获取最新版本并将本地修改变基到最新版本
参数:远程仓库名 分支名
举例:从名为origin的远程仓库的master分支获取最新版本并将本地修改变基到最新版本
git merge
解释:将指定分支合并到当前分支
参数:分支名
版权归原作者 ftzchina 所有, 如有侵权,请联系我们删除。