1、设置户名和email
1  | [$ git config --global user.name gitaccount](http://lib.csdn.net/base/git)  | 
2、查看用户名和email
1  | $ git config user.name/email。  | 
3、取消全局配置
1  | $ git config --global --unset user.name  | 
4、#全局配置账户已经移除
1  | $ git config --global user.name  | 
5、#全局配置邮箱已经移除
1  | git config --global user.email  | 
6、移除远程的库
1  | git remote remove origin  | 
7、添加现在库的地址
1  | git remove add origin  | 
8、git拉取新的远程分支
1  | git fetch  | 
9、git 拉取远程分支,远程分支不存在自动删除本地分支
1  | git fetch -p  | 
10、git 切换分支
1  | git checkout 分支名字  | 
git创建并切换分支
1  | git checkout -b 分支名  | 
git创建分支
1  | git branch 分支名  | 
11、如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用
1  | git push -u origin master  | 
12、如果不小心commit了一个不需要commit的文件,可以对其进行撤销。
先使用git log 查看 commit日志
1  | git reset —hard commit_id  | 
13、git 列出本地分支和远程分支
1  | git branch -a  | 
14、git 查看远程分支(这个删除远程分支有时候并不能删掉)
1  | git branch -r  | 
15、git删除本地分支
1  | git branch -D xxxxx  | 
16、git删除远程分支
1  | git branch -r -d origin/branch-name  | 
17、git 删除远程分支
1  | git push origin --delete new  | 
18、git 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。
1  | git branch -m | -M oldbranch newbranch  | 
19、把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
1  | git remote add origin git@github.com:michaelliao/learngit.git  | 
一个目录的git初始化
1  | git init  | 
取消一个目录的git初始化
1  | rm -rf .git  | 
git 克隆线上的库并重新命名
git clone <版本库的网址> <本地目录名>
git 将某个文件恢复
当你git status 看到某个文件修改了之后,你想撤回修改,可以执行以下命令就可以了
1  | git checkout 文件名  | 
git 合并分支
fast-forward方式就是当条件允许的时候,git直接把HEAD指针指向合并分支的头,完成合并。属于“快进方式”,不过这种情况如果删除分支,则会丢失分支信息。因为在这个过程中没有创建commit
要加–no-ff:不使用fast-forward方式合并,保留分支的commit历史
–squash:使用squash方式合并,把多次分支commit历史压缩为一次
1  | git merge master --no-ff  | 
git 查看远端仓库的地址
1  | git remote -v  | 
git 修改远程仓库地址
1  | git remote set-url origin [url]  | 
提交到远程报错fatal: refusing to merge unrelated histories
git pull origin master –allow-unrelated-histories