如题,每次都是取下最新的版本
git clone git@xxxxxx
有时需要取下以前的版本查看,如何根据时间取下完整的版本库呢?
如我想取下截至2011年6月12日版本 

解决方案 »

  1.   

    git clone下载下来的就是完整的版本库, 默认checkout出HEAD分支, 如果要checkout出之前的版本, 可以通过git log获取之前的提交信息, 然后找到想要checkout的部分"git checkout <SHA1 ID的前8位(如76bd774c)>"就可以吧之前时间提交的版本checkout出来, 如果要checkout到仓库其他的分支, 先用git branch -a查看分支, 再用命令: "git checkout -b <new_branch_name> <remote_branch_name>" checkout出remote_branch_name这个分支出来.
      

  2.   

    谢谢zhpy_0825。我的没有分支,最新的版本库目录下log如下:
    。//前面省略
    commit 11ca321d0dd46bf520f2f4cdc7f40ffaba2e5795
    Merge: 7d84699 5c6a337
    Author: 123 <879@ubuntu.(none)>
    Date:   Thu Oct 13 15:55:06 2011 +0800    Merge branch 'master' of 192.168.1.5:android71542301commit 7d846995fa9ec85d9d0b39f393187dc0d3d222fa
    Author: xxx <123@ubuntu.(none)>
    Date:   Thu Oct 13 15:53:33 2011 +0800    light ov5640 
    我想回到上面的红色标记提交之前的状态,
    在当前目录下
    git checkout 11ca321d
    当前目录下的代码就是与红色提交之前的代码完全一致,是这样操作吗?
      

  3.   

    非常感谢zhpy_0825,
    分给你了,写的非常详细,肯定是git的熟手了!附加个问题哈:有没有git命令查询 当前版本对应的版本库的日期?
    如我回滚到了Oct 13,执行一个git 命令可以显示我的本地是对应版本库的Oct 13
    即使不做回滚,有时也有这样需求,需要确定下当前的版本日期。
      

  4.   


    额,熟手也谈不上, 只是平时工作会用到这个, git log的第一项就是当前版本提交的日期吧, 如果要浏览之前日期提交的版本的话目前也没有试过很好的方法, 好像也不是很经常用到吧, 需要的话目前还是用git log去浏览, 或是有另外一个工具gitk可以以GUI的模式查看之前的提交信息, 修改内容及修改日期.具体相关git的用法可以参考一下这个网站 http://progit.org/book/zh/