将所有git提交作为一个来清空裸仓库

时间:2016-02-08 19:07:59

标签: git git-bare

我有两个裸存储库。

repo1 - 所有历史记录 repo2 - 新的,空的

我想将所有文件从repo1推送到repo2,但没有完整的历史记录,只是上一次提交的状态。

我不想触及repo1的历史记录(最好假设它是只读的)。在新的回购中,我不想有任何历史记录(包括reflogs),所以在推送后进行捣乱不是一种选择。

这是否可以在不创建新的临时存储库的情况下实现? 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

执行以下操作:

git checkout --orphan temp_branch
git commit -m "initial commit"
git push repo2 temp_branch:master

这将在本地创建一个temp_branch,只需使用当前快照进行一次提交,然后将其推送到名为" master"在repo2上。

答案 1 :(得分:0)

假设您要克隆master的头部,并假设您没有坚持git push

# in repo2
# git fetch --depth 1 path_to_repo1 master:master