Tagged: git RSS

  • tin 2:03 pm on December 13, 2009 Permalink | Reply
    Tags: git, hg, mercurial, ,   

    今天写这个,就说说常见的有未提交修改,但是马上要去修改一些别的东西,如何建立所谓“临时分支”。

    在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来实现并行开发。

     
  • tin 1:53 pm on December 13, 2009 Permalink | Reply
    Tags: git, ,   

    Git里面还有一个非常先进的东西,叫做interactive rebase

    git rebase -i HEAD~5

    然后会打开一个$EDITOR,你可以编辑前面5次(也就是~5,可以改为你需要的值)的提交,你可以选择保留–pick,修改–edit,合并–squash,或者删除(删除一行提交信息就可以)。

    这可以进一步鼓励你频繁的使用git提交。

     
  • tin 1:50 pm on December 13, 2009 Permalink | Reply
    Tags: git,   

    在git里面,想修改一下刚才提交的内容,重新提交的话

    git reset HEAD~1
    git commit -m "your comment"

    如果你只是想修改一下提交的注释

    git commit -amend
     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel