繁体   English   中英

git 复制特定版本的存储库

[英]git copy particular version of repository

我是 git 的新手,如果这是一个愚蠢的问题,请原谅我。 我有一个 git 存储库,我需要将存储库的特定修订版复制到它自己的单独目录中。 复制的版本不需要是 git 存储库本身,我不需要或不想要历史记录或 .git 文件夹,只是存储库对于特定提交的样子。

所以说我这样做:

mkdir blah
cd blah
git init
touch flim0
git add .
git commit -a -m "First commit"
touch flim1
git add .
git commit -a -m "Second commit"

mystery-command ~/some-folder 4be82b42cc91ac3801ad72036cec5f88b6a13bd7

其中 4be82b42cc91ac3801ad72036cec5f88b6a13bd7 是“第一次提交”的 hash,我希望 ~/some-folder 是一个仅包含文件 flim0 的目录。

这是否容易/可能无需克隆存储库然后签出特定修订版然后从克隆的存储库中删除.git?

 git archive master >specificversion.tar

用提交标识符替换 master

如果您想立即“检查”,请考虑

 git archive master | (cd /tmp/exportlocation && tar x)

git archive (像往常一样)带有许多其他有用的选项

更新

最好使用Sehe提到的存档选项


我要做的只是检查那个特定的版本:

git checkout <commit-sha1>

然后只需复制除 .git 目录之外的所有内容

rcopy --exclude=.git . ~/some-folder/

然后你可以做

git checkout master

再次将存储库重置为主分支。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM