我正在尝试通过git部署rails应用程序,但我的文件夹结构有点傻傻b / c我在这样的不必要的文件夹中创建了所有内容:
MASTER
------ mysite
------------- app
------------- conf
------------- Gemfile
....
我的git网址看起来像这样:
git@subdomain.beanstalkapp.com:/mysite.git
我如何从“mysite”文件夹中克隆存储库,或者如何删除“mysite文件夹”并将其内容移动到主分支本身?
答案 0 :(得分:3)
您的mysite
文件夹是否是其父文件夹中唯一的内容?如果是,您可以将mysite
文件夹中的所有内容移动到其父文件夹。从父目录执行:
mv -rf mysite/* .
rm -rf mysite
git add .
git commit -am 'removing mysite folder'
git push origin master
答案 1 :(得分:2)
如果您没有任何隐藏文件(像.gitignore这样的点文件),JoãoDaniel的回答就足够了。
这些命令应该是我能想到的所有情况(包括移动点文件)
# Change dir into the root of the repo
cd ROOT_DIRECTORY_OF_YOUR_REPO
# Find all content directly under mysite, and execute
# git mv on them with the destination directory as the
# current directory
find mysite/ -mindepth 1 -maxdepth 1 -exec git mv {} . \;
# Commit the change
git commit
答案 2 :(得分:0)
Git可能并不理想,但您可以使用sparseCheckout来完成。
“Is there any way to clone a git repository's sub-directory only?”是一个类似的问题,有很好的步骤。
克隆子文件夹后,可以删除sparseCheckout配置提交root,然后再推回到master。