基本上,有两个远程存储库:让我们调用一个 private
另一个 company
。
在 private
上,多人正在积极工作。
我想要实现的是,在推送到 company
存储库时,不要将提交历史包含在其他人的名字中,而是作为一个名字的一堆更改推送。
有没有什么简单的方法可以使用一个本地存储库来实现这一目标?
目前,当我这样做时,
git pull private main
git push company main
它复制整个提交历史。
答案 0 :(得分:1)
推送仅推送现有提交及其完整历史记录。它不会改变提交。做一个本地分支。 Sculpt it as you like。推那个。
但是,要警惕因他人的工作而获得荣誉。 Git 有一个机制来解决这个问题。每个提交都记录一个作者和一个提交者。您可以使用 git log --format=fuller
看到两者。通常这些是相同的,更改的作者与提交的人相同。有时它们不是,例如当补丁被邮寄给维护者时。作者是提交补丁的人,提交者是进行提交的维护者。
考虑改用这种机制。保留作者,但让自己成为提交者。