簡體   English   中英

如何取消嵌套Git存儲庫

[英]How can I un-nest a Git repository

我不小心在我的應用程序的父文件夾(Rails項目)上做了一個git.init。 我現在希望部署到Heroku時,直到我的開發還有很長的路要走。

我的文件夾結構是〜/ project / project / app ,在〜/ project / app中初始化了git。

Heroku聲明:

Heroku應用程序期望應用程序目錄結構位於存儲庫的根目錄。如果您的應用程序位於存儲庫的子目錄中,則在推送到Heroku時不會運行。

所以,我試圖撤消這一點,但沒有取得多大成功。

我嘗試將我的應用程序的所有文件夾移動到一個級別,因此從項目/我執行以下命令:

mv project/* project/.* .

這似乎將所有內容的副本移動到我的〜/ project文件夾中,但是,就Git而言,只有仍然嵌套的文件(在〜/ project / project /中)是特定於分支的文件(通過切換測試)分支,並在我的文本編輯器中查看這兩組文件)。

當我的git分支被指定為主分支時,我復制了文件。 這是否意味着我只復制了“主分支”文件。 這是我對git的了解有限的地方。

任何幫助非常感謝。

**注意,我有我的文件夾的副本或可以從github重新克隆。

如果您沒有問題重新發布您的倉庫( git push --force ,意味着您將更改提交的歷史記錄,而其他人必須獲取並重置其本地分支),您可以參考“ 如何我在Git倉庫中為所有提交移動一個目錄?

使用git filter-branch來影響所有分支的所有提交:

git filter-branch --tree-filter \
  'test -d project/app && mv project/app . || echo "Nothing to do"' HEAD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM