# git
# 简介
为什么诞生?
- 协作开发
- 代码版本管理
# 常用命令
- add [文件]
- commit [选项] [文件]
- push origin master
- pull origin master
- checkout [选项] [分支]
- -b 创建分支
- -d 删除分支
- -- [文件] 将未add的文件恢复到库版本的样子,即恢复到工作区
- branch [分支] 切换分支
- merge [分支] 合并分支
- status 查看当前对文件的操作
- diff
- reflog 版本日志列表
- reset --hard [commit_id] HEAD^ 返回上一个版本 HEAD^^2个版本 HEAD-100100个版本
# 全局设置
设置名称
git config --global user.name "xxx"
设置email
git config --global user.email "xxx"
查看设置
cat ~/.gitconfig
设置别名
git config --global alias.cm commit // 即$ git cm -m 'xx'
忽略已跟踪文件
git rm cached
# 使用例子
git add txt1.txt //添加文件到暂存区
git commit -m "mes" //添加提交信息
git status //查看其他未添加文件列表与文件变动modified
git diff fileName.txt //查看文件变动内容
git log //查看文件变化日志,最近三次
git reset --hard HEAD^//退回上个版本
git cat fileName.txt //查看文件内容
git rm fileName.txt //删除文件
git remote add origin url //添加远程仓库
git push -u origin master //上传到远程仓库
git clone url //从远程仓库克隆下来
git branch branchName //创建分支
git checkout -b dev //新建并切换到dev分支
git branch //查看分支
git checkout master //切换至master分支
git merge dev //将dev分支合并到master内
git branch -d dev //删除dev分支
git pull //下载所有文件
git rm -r -f //删除文件夹及其下所有文件
git reflog // 打开版本日志列表
# 基础指令
初始化项目
git init
查看当前修改
git status
查看提交的信息
git log
提交文件
git commit -m 'test' // -m为提交信息
对比差异,与修改文件对比
git diff
对比差异,与暂存区的对比
git diff --staged
重命名,移动
git mv xx1.js xx2.js // 重命名
git mv xx1.js js // 移动文件
git mv js asset // 移动目录
删除文件
git rm fileName
撤销操作 -git amend
git commit -m "mes"
git add "xxx.js"
git commit --amend --no-edit
git log --name-status //查看提交了的文件
恢复删除文件
git checkout --fileName.html
合并分支
git merge [branchName]
版本回退
git reset --hard [commitId]
git push -f -u origin [branchName]