使用没有历史记录的git推送和提交

时间:2017-07-10 09:07:11

标签: git

假设我做了很多本地提交。 我现在想将最后一次提交推送到我的在线存储库,但我不希望其他用户看到最后的提交。我只想推上一个版本。

我还想保留我当地的提交历史。

您是否知道如果不必创建分支是否可行?

由于

1 个答案:

答案 0 :(得分:3)

我将假设您当前的分支名为foo

  1. git checkout foo以确保您在foo - 分支。
  2. git checkout -b foo-public创建一个名为foo-public的新分支并切换到它。
  3. git rebase -i bar其中bar是您创建的第一次提交之前提交的哈希值。
  4. 上一个命令会调出一个文本编辑器。在那里,您应该将所有pick个关键字替换为squash,而不是第一个 pick
  5. 退出编辑器,出现另一个编辑器,提示您输入提交名称。如果需要,可以保留上次提交的名称。关闭编辑器。
  6. 您现在可以发布foo-public - 分支。它只有一个提交,其中包含所有更改。您的foo - 分支机构仍有完整的历史记录。