gpt4 book ai didi

Git - 通过一次 merge 提交推送到新的远程

转载 作者:太空狗 更新时间:2023-10-29 13:21:12 25 4
gpt4 key购买 nike

我已经在私有(private)仓库上工作了一段时间,并且打算发布到 GitHub。

问题是我有很多提交,为了卫生起见,我希望 GitHub 中只出现一个提交。

如何在不推送历史记录的情况下推送?即将整个 MASTER merge 为一个提交

非常感谢。

道格

最佳答案

通常人们会使用 git rebase --interactive HEAD~n 其中 n 是编号。您想要 merge 为一个的提交。但是,在您的情况下,您希望将整个历史记录压缩为一次提交,并且由于不可能在没有父项的情况下进行 rebase (直到初始提交),我们必须使用 git resetgit提交 --amend.

这是你要做的:

  1. git log --oneline。找到您初始提交的 SHA。
  2. 假设我们的 SHA 是 fe7d5d1。运行 git reset fe7d5d1。这会将分支重置为初始提交。
  3. 现在使用 git add . 暂存所有更改。
  4. 接下来修改您的初始提交,git commit --amend -m "Initial commit"
  5. 使用 git log --oneline 确认您现在只有一个提交。

注意:切勿重写/压缩/ rebase 您已经推送到远程仓库的提交。

关于Git - 通过一次 merge 提交推送到新的远程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com