2

我正在尝试通过 git 部署 rails 应用程序,但我的文件夹结构有点傻 b/ci 在一个不必要的文件夹中创建了所有内容,如下所示:

MASTER
------ mysite
------------- app
------------- conf
------------- Gemfile
....

我的 git 网址如下所示:

git@subdomain.beanstalkapp.com:/mysite.git

如何从“mysite”文件夹中克隆存储库,或者如何删除“mysite 文件夹”并将其内容移动到主分支本身?

4

3 回答 3

4

您的mysite文件夹是其父文件夹中唯一的东西吗?如果是,您可以将mysite文件夹内的所有内容移动到其父文件夹。从父目录执行:

mv -rf mysite/* .
rm -rf mysite
git add .
git commit -am 'removing mysite folder'
git push origin master
于 2013-03-19T00:15:11.853 回答
2

如果您没有任何隐藏文件(.gitignore 等点文件),João Daniel 的回答应该就足够了。

这些命令应该是我能想到的所有情况(包括移动点文件)

# 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
于 2013-03-19T05:01:32.753 回答
0

Git 可能对此并不理想,但您可以使用sparseCheckout 来实现

有没有办法只克隆 git 存储库的子目录? ” 是一个类似的问题,有很好的步骤演练。

克隆子文件夹后,您可以删除 sparseCheckout 配置提交根目录,然后推回主目录。

于 2013-03-19T00:16:41.117 回答