Git 简介
Git是一个开源的分布式版本控制系统,快速,高效的处理从小型到大型项目的所有
git与svn区别:
- 1、git是分布式的;
svn是集中式的; - 2、git每个历史版本都存储完整的文件,便于恢复;
svn是存储差异文件,历史版本不可恢复; - 3、git可离线完成大部分操作
svn则不能 - 4、git会自动记录每次的修改,并且可以方便的切换到任一版本
svn则不能 - 5、git可以完成多个版本开发
git工作区域分类:
git常用命令:
git config --list 获取git配置项
git init 初始化本地版本库
git add . 将工作区的所有更改提交到暂存区
git commit -m '说明' 把暂存区的修改提交到本地版本库
git status 查看发生变动的文件
git reset 文件路径 把暂存区修改撤回到工作区
git log 提交历史记录
git add 文件路径 指定的文件提交到暂存区
git diff 查看工作区的修改(红色的删除,绿色的修改过)
git diff --cached 查看暂存区的修改
git checkout src/index.js 撤销工作区的修改
git reflog 可以查看所有分支的所有操作记录(包含已被删除的commit记录和reset的操作)
git reset --hard HEAD^ 回退到上个版本
^^ 上上个版本
git reset --hard id名 回退到指定的版本
:wq 强制退出
英文状态 q 退出 git log 描述
git误删本地文件找回
git status 找到路径
git reset HEAD 路径
git checkout 路径
git 撤销工作区的修改
git checkout 文件路径
git 撤销暂存区的修改
git reset 文件路径(先把暂存区的撤回工作区)
git checkout 文件路径
git 远程仓库操作
git clone 仓库的地址 克隆一个版本库到新的目录
git remote add origin 仓库地址 添加远程仓库地址
git push origin master 推送到远程服务器
git push -u origin master 如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push
git remote -v 查看关联的远程服务器名称,在每一个后面有url
git pull origin master 远程代码拉取到本地工作区
git pull --rebase origin master 拉取远程单文件把本地的覆盖
git pull --allow-unrelated-histories 拉取失败的时候(允许不相关的历史)
git remote set-url origin ssh/https ssh与https互换
git 分支管理
git branch 分支名 创建分支
git branch 查看本地分支
git branch -r 查看远程所有分支
git branch -a 查看本地和远程所有分支
git checkout 分支名 切换分支
git merge 分支名 合并分支
git checkout -b 分支名 创建并切换分支
git branch -d 分支名 删除本地分支
git push origin -d 分支名 删除远程分支
git stash 隐藏当前内容
git stash list 查看隐藏内容
git stash pop 隐藏的内容取出