webhwg 2012-08-15
$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 ...