push
```
git pull //拉取远端 git pull = git fetch + git merge
git status //查看当前项目状态
git add . //添加到暂存区
git commit -m 'message' //提交到仓库
git push //提交到远端
```
stash
```
git stash //储藏
git stash save "message"
git stash list //获取储藏列表
git stash apply //应用储藏
git stash apply stash@{id}
git stash drop //移除储藏
git stash drop stash@{id}
git stash pop //应用储藏,并从栈中移除
```
branch
```
git branch //查看本地所有分支
git branch -a //查看所有分支
git branch -d dev //删除本地dev分支
git push origin -d dev //删除远程dev分支
git checkout dev //切到本地dev分支
git checkout -b dev origin/dev //拉取 远端dev分支并在本地创建切换到dev分支
git merge master //将master分支合并到当前分支
git checkout -b dev //创建远程分支第一步 根据当前分支新建并切换到dev分支
git push --set origin dev //创建远程分支第二步 将dev分支新建并推送到远程分支
```
reset
```
git log //查看提交日志,获取commit\_id
git reset --hard commit_id //回退到某
git push -f origin master //本地强制上传到远程,把远程的覆盖
```
fork
```
git remote add crm[别名] git@github.com:xxx/xxx.git //添加远程仓库git@github.com:xxx/xxx.git
git remote -v //查看远程信息
git fetch crm[别名] //从源仓库更新同步代码到本地仓库
git merge crm[别名]/develop[分支] //合并到本地工作区develop分支
等于
git pull crm[别名] develop[分支] //从源仓库更新同步代码到本地仓库,并合并到本地工作区develop分支
git remote remove crm[别名] //删除远程仓库
git remote rename crm[别名] upstream[新别名] //远程仓库更名
```