今天写这个,就说说常见的有未提交修改,但是马上要去修改一些别的东西,如何建立所谓“临时分支”。
在Git里面,这个叫stash,是一个线性堆栈
git stash
而后你的修改会被放在stash里面,可以多次提交,它们被线性的保留在堆栈里面
git stash apply
这个会用后进先出的方式将修改恢复为本地修改,而后你可以选择去提交了。
在HG也就是Mercurial里面,有更强大一些的叫做q的东西
hg qnew -f filename.diff -m "your coments" //创建一个q,并给它命名为filename.diff(同时这也是diff文件的名字) hg qnew ... hg qpop //可以将一个q弹出来 hg qpush //又把它推回去 hg qapplied //看看哪些q目前被应用了 hg qseries //看看一共创建了哪些q hg qfold //合并两个q hg qfinish -a//将已经应用(applied)的q转换为check-in的版本。
HG这一套比较复杂,主要原因是Git和HG两者哲学不同。Git推荐你用轻量级的本地branch功能,而hg推荐你用基于hard-link的local branch配合q来实现并行开发。