如何取消嵌套Git存储库

时间:2017-04-15 17:19:33

标签: ruby-on-rails git heroku github command-line

我不小心在我的应用程序(Rails项目)的父文件夹上做了一个git.init。我现在希望部署到Heroku时,直到我的开发还有很长的路要走。

我的文件夹结构是〜/ project / project / app ,git在〜/ project / app 中初始化。

Heroku说:

  

Heroku应用程序期望应用程序目录结构位于   库。如果您的应用程序位于存储库中的子目录中,   推送到Heroku时它不会运行。

所以,我试图撤消这一点,但没有取得多大成功。

我尝试将我的应用程序的所有文件夹移动到一个级别,因此从项目/我执行以下命令:

mv project/* project/.* .

这似乎将一个副本移动到一个级别,进入我的〜/ project文件夹,但是,就Git而言,只有仍然嵌套的文件(在〜/ project / project /中)是特定于分支的文件(通过切换分支并在文本编辑器中查看这两组文件来测试)。

当我的git分支被指定为主分支时,我复制了文件。这是否意味着我只复制了“主分支”文件。这是我对git的了解有限的地方。

任何帮助都非常感激。

**请注意,我有我的文件夹的副本或者可以从github重新克隆。

1 个答案:

答案 0 :(得分:0)

如果您没有问题重新发布您的回购(pcchange = function(x){ c( NA, diff(x)/x[-length(x)] ) },意味着您将更改提交的历史记录,而其他人必须获取并重置其本地分支),您可以参考" How can I move a directory in a Git repo for all commits?"。

使用git filter-branch来影响所有分支的所有提交:

git push --force