基础
安装
Mac
# 先在终端运行下 `git`,Mac 系统一般会自带 git 环境,如果 `command not found`,再按照步骤进行安装
brew install git
Linux
yum -y install git
基础配置
# 配置 Git 账户信息
git config --global user.name "your name"
git config --global user.email "email@examploe.com"
# 配置 文件名大小写敏感
git config core.ignorecase false
命令汇总
奇技淫巧
Git的奇技淫巧

基本操作
# 初始化仓库(通常用于讲一个文件夹初始化为一个 git 仓库,执行操作之后会在根目录生成一个 .git 的文件夹,里面包含当前仓库的 git 信息)
git init
# 克隆远端仓库代码
git clone [远端仓库地址]
# 查看当前仓库代码状态
git status
# 丢弃文件更改
git checkout [path/file]
# 将文件添加至缓存区
git add [path/file]
# 将缓存区的代码添加至本地仓库
git commit -m '提交注释'
# 将远端仓库的代码更新至本地
git pull
# 将本地代码推送至远端仓库
git push [-f]
-f:强制推送
# 查看代码提交记录
git log
标签操作
# 显示所有 tag
git tag
# 给当前内容添加 tag
git tag v0.1
git tag -a v1.0.0 -m '内容'
git commit -m'' -t v0.1
# 推送 tag
git push origin v0.1
# 查看 v0.1 tag 的详情
git show v0.1
# 删除本地 tag
git tag -d v1.0.0
# 删除远程 tag
git push origin :refs/tags/v1.0.0
分支操作
# 查看分支
git branch [-a]
-a:查看所有分支。默认查看当前分支
# 新建/切换/删除 分支
git checkout [-b|-d] [分支名称]
-b:新建分支并切换到新建的分支
-d:删除分支
# 合并分支(将某一分支合并至当前分支)
git merge [分支名称]
# 刷新远端分支
git fetch [分支名称]
进阶操作
# 查看远端地址
git remote -v
# 更换远端地址
git remote set-url origin 【远端地址】
# 版本回退
git reset --hard 【commit-id】
git revert --hard 【commit-id】
revert保留所有提交历史!!!
other
# 对Git进行基础配置
# 设置文件大小写敏感
set LESSCHARSET=utf-8
git whatchanged
# 查看冲突文件
git ls-files -u | cut -f 2 | sort -u
# 删除本地最后一条记录,如果需要删除最后提交的N条记录,将“1”替换为一个具体的数字“N”即可。
git reset --hard HEAD~1
常见问题
忽略提交 .gitignore
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
Git解决中文乱码问题
# git status 乱码 - 解决方法:
git config --global core.quotepath false
# git status 乱码 - 解决方法:
git config --global i18n.logoutputencoding utf-8
# git commit 乱码 - 解决方法:
git config --global i18n.commitencoding utf-8
解决Linux环境下每次推拉代码都需要输入密码设置
全局项目配置
cd /
git config --global credential.helper store
单个项目配置
# 方案1
cd /project-path
git config credential.helper store
# 方案2
cd /project-path
vi .git/config
# .git/config 添加如下内容后保存退出
[credential]
helper = store
Mac配置全局的Git忽略文件
git config --global core.excludesfile ~/.gitignore_global
# 使用vim编辑的文件即为全局的Git忽略文件,将需要全局忽略的文件输入即可
vim ~/.gitignore_global
# 配置文件参考如下
# for Mac OS X System Files
.DS_Store
Thumbs.db