GIT如何取下以前的版本库

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

...全文
12333 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhpy_0825 2011-12-02
  • 打赏
  • 举报
回复
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这个分支出来.
月光宝盒 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhpy_0825 的回复:]

引用 4 楼 zhangchiytu 的回复:
引用 3 楼 zhpy_0825 的回复:

引用 2 楼 zhangchiytu 的回复:
谢谢zhpy_0825。

我的没有分支,最新的版本库目录下log如下:
。。。。//前面省略
commit 11ca321d0dd46bf520f2f4cdc7f40ffaba2e5795
Merge: 7d84699 5c6a337
……
[/Quote]
ok,多谢多谢~
zhpy_0825 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhangchiytu 的回复:]
引用 3 楼 zhpy_0825 的回复:

引用 2 楼 zhangchiytu 的回复:
谢谢zhpy_0825。

我的没有分支,最新的版本库目录下log如下:
。。。。//前面省略
commit 11ca321d0dd46bf520f2f4cdc7f40ffaba2e5795
Merge: 7d84699 5c6a337
Author: 123 <879@ubuntu.(……
[/Quote]

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

引用 2 楼 zhangchiytu 的回复:
谢谢zhpy_0825。

我的没有分支,最新的版本库目录下log如下:
。。。。//前面省略
commit 11ca321d0dd46bf520f2f4cdc7f40ffaba2e5795
Merge: 7d84699 5c6a337
Author: 123 <879@ubuntu.(none)>
Date: Thu Oct 13……
[/Quote]
非常感谢zhpy_0825,
分给你了,写的非常详细,肯定是git的熟手了!附加个问题哈:

有没有git命令查询 当前版本对应的版本库的日期?
如我回滚到了Oct 13,执行一个git 命令可以显示我的本地是对应版本库的Oct 13
即使不做回滚,有时也有这样需求,需要确定下当前的版本日期。
zhpy_0825 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhangchiytu 的回复:]
谢谢zhpy_0825。

我的没有分支,最新的版本库目录下log如下:
。。。。//前面省略
commit 11ca321d0dd46bf520f2f4cdc7f40ffaba2e5795
Merge: 7d84699 5c6a337
Author: 123 <879@ubuntu.(none)>
Date: Thu Oct 13 15:55:06 2011 +0800

……
[/Quote]

Right
月光宝盒 2011-12-02
  • 打赏
  • 举报
回复
谢谢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:android71542301

commit 7d846995fa9ec85d9d0b39f393187dc0d3d222fa
Author: xxx <123@ubuntu.(none)>
Date: Thu Oct 13 15:53:33 2011 +0800

light ov5640
我想回到上面的红色标记提交之前的状态,
在当前目录下
git checkout 11ca321d
当前目录下的代码就是与红色提交之前的代码完全一致,是这样操作吗?

80,392

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧