近来很迷茫,因为听到有牛人BS所谓的embedded和security,而现实总是落后于理想。以至于想到需要心理咨询一下了。闲话少说一点,一个月也没有写下点什么了,暂且记下一些东西吧。
其实我接触git的时间还太短,大概因为之前没有深入接触过什么像样的version control system,所以在这里不能说比较cvs和svn以及bitkeeper之类的资料了,感觉比较苍白和遗憾,但是可以如实的按照自己的感觉来说,那就是,git真的很好用。
在git repo的top level directory,使用:
1.git-reset --hard HEAD~1
效果就是在当前的branch上,回退一次commit,在回退到的commit之后的所有修改都被丢弃,所以要慎重使用。而git-reset --hard 的效果就是,在最后的一次commit之后的所有修改都被丢弃。所以,建议的操作是:
A git-checkout -b tmpbranch
B git-reset --hard
2.git-reset --soft HEAD~1
效果就是仅仅取消一次commit,但是所有的修改都保留,个人感觉最有效的用法就是修改commit的message。
3.git-revert
一般是按照某一次的commit完全反向的进行一次commit,如果commitid是最近一次commit的commitid,那么他的效果和git-reset --hard HEAD~1 && git-commit -a -m ‘revert commit xxx....' 完全一下。
4.看git帮助么,当然是可以的,前提就是要安装,安装git的documents需要git的源码包,而在运行make install-doc之前,需要ascii2txt包先准备好。可以使用的命令除了man git-xxx之类,还可以git-help xxx
5.当然git-log是非常重要的,但更有效的用法可以是:cd some/sub/directory&&git-log .
6.git-whatchanged some/sub/direcotry 和git-whatchanged some/sub/directory/file 都是非常有用的,而git-whatchanged -p some/sub/directory/file 同时看到对特定文件的修改历史和相应的patch,真是令人激动的功能。
7.在本地repo的不同branch之间进行merge是必要的,特别是在特定的up-stream repo存在的情况下。所以git-pull . sourc-branch:dist-branch就可以把source branch merge到dist branch中了。当然,这里的“.”是指定了一个git repo,在不同的git repo之间显然也是可以进行的。
8.git-bisect这样高级的功能还没有来得及用。以后再补充吧。
git很好用。我很喜欢。
git的man page相当的nice,严重推荐。
阅读(2696) | 评论(1) | 转发(0) |