【发布时间】:2018-10-15 09:03:04
【问题描述】:
我从 Perfoce 将一个 Repo 及其所有历史克隆到本地 Git,将其命名为 SubProj,然后我将其推送到远程 repo,并使用该远程 repo 将 SubProj 合并到 SuperProj 下。
无法将部分历史记录从 Perforce 导入到 Git,@all 或 none。无论如何,一切顺利,我删除了本地仓库及其远程仓库。
现在,Perforce 仓库 SubProj 发生了变化,所以我再次克隆了 SubProj 的所有历史记录,我想推送然后与 SuperProj 合并,但我不想要整个历史记录(只有新的变化)。
说SubProj 有这段历史,并且是本地的:
A--B--C--D--E--F--G--H
我知道我们可以从最旧的提交开始推送,直到specific commit。例如:
git push SubProjRemote <commit C on master>:master
将A--B--C推送到遥控器。
但是:
我可以只将E--F--G--H 推送到远程仓库吗?
我可以全部推送,然后只合并E--F--G--H吗?
【问题讨论】:
-
Perforce 的两个克隆的 SHA-1 哈希值是否相同?换句话说,当您再次迁移时,
E的哈希值是否与远程仓库中第一次迁移时的哈希值相同? -
@milbrandt 我无法验证,我删除了第一个克隆的存储库。现在我只有第二个克隆,它是 Git 存储库的整个历史。但我知道我想从哪个日期(什么提交)开始(例如
E--F--G--H)。 -
您只是在本地删除了它。第一次迁移的remote repo还是存在的吧?
-
@milbrandt 不,我删除了本地和远程。我将删除此评论,因为我在 OP 上有此评论
-
您的远程项目是
SuperProj。至少你没有做壁球提交,原始SubProj的所有提交都应该包含在那里。
标签: git perforce git-merge git-push git-p4