Chinaunix首页 | 论坛 | 博客
  • 博客访问: 727705
  • 博文数量: 39
  • 博客积分: 10290
  • 博客等级: 上将
  • 技术积分: 1500
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-16 15:05
文章分类
文章存档

2011年(15)

2010年(2)

2009年(8)

2008年(14)

我的朋友

分类: LINUX

2008-06-26 21:22:42

   近来很迷茫,因为听到有牛人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,严重推荐。
阅读(2689) | 评论(1) | 转发(0) |
0

上一篇:带颜色显示的tree,加src

下一篇:流水帐

给主人留下些什么吧!~~

chinaunix网友2008-07-27 22:56:14

补充: Using git with color (Tip) If you want to use git with colored output use: $ git config --global color.ui true If you are using an old git version (prior to 1.5.5) and previous command didn't work, use: $ git config --global color.diff auto $ git config --global color.status auto $ git config --global color.branch auto Setting up "git up" (Tip) If you want to be able to just keep in sync using "git up" use: $ git config --global alias.up "pull --rebase" And if yo