2017-04-15 42 views
1

我不小心把我的應用程序(Rails項目)的父文件夾git.init。直到現在我希望部署到Heroku時,我才意識到我的發展很長。我怎樣才能取消巢Git倉庫

我的文件夾結構〜/項目/項目/應用使用Git在〜/項目/應用初始化。

Heroku的規定:

"Heroku apps expect the app directory structure at the root of the repository. If your app is inside a subdirectory in your repository, it won’t run when pushed to Heroku."

所以,我想撤消,但沒有成功。

我試圖移動我的應用程序了一個級別的所有文件夾,因此從項目/我做了如下命令:

mv project/* project/.* . 

這似乎移動一切都升了一級,的拷貝到我的〜/項目文件夾,但是,在Git中的條款,只是仍然嵌套文件(在〜/項目/工程/)是(通過切換分支,看着我的文本編輯器兩套文件的測試)的分支特定文件。

我複製時,我的Git分支被指定爲master分支的文件。這是否意味着我只複製了「主分支」文件。這是我對git的瞭解有限的地方。

任何幫助非常感謝。

**請注意,我有我的文件夾的副本,也可以從GitHub再克隆。

+0

你嘗試'混帳MV項目...'? – Adashi

+0

我沒有,謝謝你的提示。我無法完成它的工作。你字面意思是三個點嗎?如果是這樣,我得到: 致命:壞源,源=項目/的.gitignore,目的地= ... /項目 我也嘗試過的git MV工程..但給了一個錯誤,因爲它是從Git目錄下。 。 –

+0

然後嘗試這個: git mv -nf project/*。 這給錯誤: 致命:無法移動目錄上的文件,源=項目/應用程序,目的=應用 –

回答

0

如果您沒有問題重新發布您的回購(git push --force,這意味着您將更改提交歷史記錄,而其他將必須提取並重置其本地分支),您可以參考「How can I move a directory in a Git repo for all commits?」 。

使用git filter-branch以影響所有分支機構提交:

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