Git 是什么

Git 是一个开源的分布式版本控制系统

Git 工作流示意图

Git工作流示意图

Git 官方文档

中文
English


使用Git

下载安装Git

官方网站

配置身份

git config -global user.name "名称"
git config -global user.email "邮箱"

初始化仓库

本地仓库

cd 仓库目录
git init

远程仓库

git clone 仓库.git

初始化后生成.git文件夹,记录本地所有的Git操作

忽略文件

创建.gitignore文件

//比如忽略.vs文件夹
.vs/*

提交本地代码

git add . //添加所有文件
git commit -m"提交描述信息" //提交

推送或拉取远程仓库

git push //推送到远程仓库
git pull //从远程仓库拉取

查看修改内容

git status //被修改的文件
git diff //被修改文件的内容

撤销未提交的修改

未add文件

git checkout 文件名

已add文件

git reset HEAD 文件名

查看提交记录

git log //查看所有历史提交信息
git log 提交id //查看指定历史提交记录

分支

查看分支

git branch //查看本地分支(分支前带*的为当前分支)
git branch -r //查看远程分支
git branch -a //查看本地和远程分支

新建分支

git branch 分支名 //新建空分支
git checkout -b 分支名 //新建分支并复制当前分支

删除分支

git branch -d 分支名 //删除分支
git branch -D 分支名 //强制删除分支

切换分支

git checkout 分支名 //切换分支

合并分支

git merge 分支名 //合并分支

分支映射关系

git branch -vv //查看分支映射关系

新建本地分支&拉取远程分支

git branch -a //查看本地和远程所有分支
git checkout 远程分支名 //切换分支名的同时会自动追踪

Git 常用命令

命令目的
git init初始化本地git环境
git clone xxx克隆一份代码到本地仓库
git pull把远程库的代码更新到工作台
git pull --rebase origin master强制把远程库的代码跟新到当前分支上面
git fetch把远程库的代码更新到本地库
git add .把本地的修改加到stage中
git commit -m 'xxx'把stage中的修改提交到本地库
git push把本地库的修改提交到远程库中
git branch -r/-a查看 远程分支/全部分支
git checkout master/branch切换到某个分支
git checkout -b xxx新建xxx分支
git checkout -d xxx删除xxx分支
git merge xxx把xxx分支上的修改同步到当前分支
git merge tool调用merge工具
git stash把未完成的修改缓存到栈容器中
git stash list查看所有的缓存
git stash pop恢复本地分支到缓存状态
git blame someFile查看某个文件的每一行的修改记录
git status查看当前分支有哪些修改
git log查看当前分支上面的日志信息
git diff查看当前没有add的内容
git diff --cache查看已经add但是没有commit的内容
git diff HEAD上面两个内容的合并
git reset --hard HEAD撤销本地修改
echo $HOME查看git config的HOME路径
export $HOME=/c/gitconfig配置git config的HOME路径