gpt4 book ai didi

git - 如何将 Heroku git 存储库重置为初始状态?

转载 作者:IT王子 更新时间:2023-10-29 01:23:57 25 4
gpt4 key购买 nike

我在 git 存储库中有一个 Web 应用程序。由于历史原因,Web 应用程序不在存储库的根目录中,它位于名为 website 的文件夹中。除此之外还有一些其他的文件夹,所以我得到了以下结构:

myApp
+- .git
+- otherFolder1
+- otherFolder2
+- otherFolder...
+- otherFolderN
+- website

该网站在 Heroku 上运行。由于 Heroku 要求您的 Web 应用程序位于 git 存储库的根目录,直到现在我使用的构建过程将 website 文件夹复制到一个完全不同的(外部)文件夹,它有自己的 git 存储库。然后我能够从那里推送到 Heroku,一切都很好。

现在,因为 git 包含了 subtree 命令,这不再是必需的,因为我可以直接从我的初始文件夹推送,而只是 website 子文件夹,使用:

git subtree push --prefix=website heroku master

基本上,这是完美的。我只有一个问题:由于之前对 Heroku 的提交来自完全不同的 git 存储库,两者的历史记录彼此不匹配 - 因此 Heroku 检测到非快进推送,并拒绝 subtree 推送。

那么我该如何处理呢?

  • 想法 1:强制推送。试过了,但不起作用,因为 git subtree push 没有 --force 选项(或任何类似的选项)。
  • 想法 2:清除 Heroku 的存储库并重新开始。

我很想采用想法 2,但我不知道如何实现它。

我的第一个方法是运行 git push heroku :master,但 Heroku 检测到并拒绝了它。

当然,我可以销毁该应用程序并重新创建它,但随后所有域分配和附加组件也会消失,我想避免这种情况。

还有其他想法吗?

最佳答案

可以嵌套git命令来执行强制推送。

对于您的情况,命令将是:

git push heroku `git subtree split --prefix website master`:master --force

关于git - 如何将 Heroku git 存储库重置为初始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12644855/

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