我想用git尝试一些东西,我不想在工作存储库中搞乱任何东西。复制Git裸回购更改日志?
为了让事情安全起见,我制作了一份裸露的回购协议副本,我从这个回购协议以及此回购协议中准备完成所有推送和标记。我用:
cp --preseve -r original.git copy_of_original.git
虽然我明白一个可以撤消坏的提交和诸如此类的东西,我不想离开所有这些还原提交回购,我也不想做任何重构,因此我的愿望,只是从一个重复的裸仓库工作。
的问题是,我执行以下命令:
git diff --name-only [email protected]{"5 day ago"} master
,并取回:
warning: Log for 'master' only goes back to Fri, 15 Feb 2013 20:42:43 -0500.
原来的回购,这是我不想碰,确实有其人的文件5天前修改。
如果我在复制的回购库上执行git log
,这些5天前更改的记录仍然存在。
这是怎么回事?
有没有更好的方法来制作版本库的独立副本?
更新1
我意识到我是不准确的我的问题。我已经运行:从生产
git diff --name-only [email protected]{"5 day ago"}
目录:
git clone copy_of_original.git clone_of_copy
然后,如果我做一个'git pull'在我的本地副本的存储库,将运行'git diff --name-only master @ {“5天前”}'使用我做'git pull'的日期而不是当人们提交时提交? – EMiller 2013-02-16 02:37:18
'@ {time}'从不使用提交时间。没有一种方法可以在一般情况下工作,因为历史记录中可能有多个分支,并且提交并不总是按日期顺序(无论是因为重新安排提交还是某个人的时钟设置不正确)。 – qqx 2013-02-16 02:40:09
但是没有办法可靠地查询主服务器中的任何文件是否因为一段时间而通过合并或提交进行更新? – EMiller 2013-02-16 02:48:35