我有两个裸存储库。
repo1
- 所有历史记录
repo2
- 新的,空的
我想将所有文件从repo1
推送到repo2
,但没有完整的历史记录,只是上一次提交的状态。
我不想触及repo1
的历史记录(最好假设它是只读的)。在新的回购中,我不想有任何历史记录(包括reflogs),所以在推送后进行捣乱不是一种选择。
这是否可以在不创建新的临时存储库的情况下实现? 我怎样才能做到这一点?
答案 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