1.设置用户名和邮箱
git config --global user.name
"yql"
#
"yql"
换成自己名字的拼音,注意中间不要有空格
git config --global user.email yql
@**
.com
2.
创建git
git init # cd到工作目录中
git clone 仓库地址 [ssh://git@git.sankuai.com/trip/volga.git]
3.
查看工作区状态
git status
4.
提交代码到本地仓库
git add yql.java # 提交yql.java文件到暂存区
git commit -m [-a] “更新描述” # 使用-a可以跳过使用暂存区域,即跳过git add
5.
推送到远程仓库
git pull # 更新代码库到最新版本
git push # 开始推送
git push origin master # 对新建远程仓库的第一次推送,需要指定主分支名master
6. 暂存区操作
git add yql.java # 提交yql.java文件到暂存区
git reset HEAD yql.java # 删除暂存区中的yql.java文件
7.
查看代码改动
git diff # 查看工作区与暂存区的文件差异
git diff --cached # 查看暂存区与最后一次本地提交的文件差异
git diff HEAD # 工作区与最后一次本地提交之间的差异
8.
查看提交记录
git log
9.
远程仓库操作
git remote # 列出每个远程库的简短名字
git remote add [remote-name] [url] # 添加远程库
git fetch [remote-name] # 把远程仓库remote-name更新至本地仓库
git push [remote-name] [branch-name] # 将本地仓库中的数据推送到远程仓库
git remote show [remote-name] # 查看远程仓库remote-name的信息
10.
创建并切换分支
git branch [branch-name] # 建立新的分支
git checkout [branch-name] # 切换分支
git branch -b [branch-name] # 新建并切换到新的分支
git checkout -b [branch-name] master # 从master分支创建新分支,并切换到新分支
11.
合并分支
git merge master # 把master分支合并到当前分支
git merge [branch-name] --squash # 合并[branch-name]分支到当前分支,但将分支上的提交压缩,然后手工提交变成一次提交。
git merge origin/master # 合并远程的master分支到当前分支
git push origin [branch-name] # 将本地分支[branch-name]保存到远程
12.
查看分支
git branch # 查看所有的分支,带*号的是当前所在分支
git branch -v # 查看各个分支最后一次commit信息
git branch --merged # 查看与当前分支合并过的分支,只要合并过的分支即使删掉也不用担心
git branch --no-merged # 查看与当前分支没有合并过的分支
git branch -a #查看目录下的所有分支
13.删除分支
git branch -d [branch-name] # 删除分支
git branch -D [branch-name] # 强制删除分支
git push origin :[branch-name] # 将远程分支[branch-name]删除 (注意这里的空格位置)
14.版本回滚
git log、git reflog
git reset --hard commit_id
15.撤销修改
git checkout -- file
16.修改远程分支
git remote set-url origin [ssh://git@
git.sankuai.com/trip/volga.git]
21. 图1
![](https://images2015.cnblogs.com/blog/827808/201511/827808-20151123233813514-1625856975.png)
22.图2 合并master图解流程
![](https://images2015.cnblogs.com/blog/827808/201511/827808-20151124103305531-1273050263.png)