常用命令

$git branch;   //查看现有分支, *号表示当前所在的分支
$git branch isu53;  //建立分支"isu53",新建之后HEAD指针并未指向当前分支
$git checkout isu53;  //切换到"isu53"分支
$git checkout -b isu53;   //新建分支"isu53"并将HEAD切换到此分支
$git commit -a -m "fix bug, isu53"
$git checkout master;   //切换分支命令,回到master分支
$git merge isu53;  //merge isu53分支的修改到master分支
$git push ...;  //将修改提交
$git branch -d isu53;  //删除已经不用的分支


$git mergetool;  //遇到冲突的时候使用此工具
$gitk;  //界面工具,查看分支信息、提交历史
$gitk --all;  //查看所有分支信息
$git gui;  //提交代码的UI程序

$git push origin isu53;  //将分支推送到服务端,并在服务端建立分支,推送到服务器之前也要 add .; commit; push;
$git push origin :isu53;  //删除远程分支

$git fetch orgin;  //获取远程服务器数据到本地,本地分支指针与服务器上同步向前
$git merge origin/serverfix;  //把内容合并到当前分支
$git checkout -b serverfix origin/serverfix;  //想要一份自己的 serverfix 来开发,可以在远程分支的基础上分化出一个新的分支来

$git reset --hard b0aa58e04f31e6859efb   //回滚版本,小心啊,妈的
$git checkout "filepath"  //回滚到最后一次commit的地方

$git diff "commitid one" "commitid two"  //查看某两个版本之间的差异

/*
二进制文件冲突解决:
二进制经常出现冲突问题,push会冲突,pull和rebase也会冲突,妈的,烦死了。
这时候我们要强制拉下某个标签的文件 :
*/
#git checkout --their "filepath"
#git checkout "commit_id" "filename"
//这时候本地已经是最新的文件了
#git add "filename"
#git commit -m "tag"
#git pull  //这部很重要,或者用 git rebase,pull成功
#git push ...
 

相关推荐