Git - 如何将本地存储库提交到另一个本地存储库的子文件夹?

时间:2014-08-26 19:46:43

标签: django git openshift

我有一个我刚刚开始的Django项目,我在bitbucket上主持它。现在我需要在openshift中托管它,并且这样做的方法是它们为您提供了一个git存储库,并且每次推送它们都会自动部署。问题是存储库附带了几个用于配置和设置的顶级文件夹,而有效的django项目必须位于名为wsig / openshift的子文件夹中。

我的问题是,如何将我的本地django存储库中的更改提交到本地openshift存储库的wsig / openshift子文件夹?因为我打算继续在bitbucket /本地存储库上开发

2 个答案:

答案 0 :(得分:3)

您可能正在寻找submodules。来自文档:

  

子模块允许将外部存储库嵌入到   源树的专用子目录,始终指向a   特别提交。

所以你会这样做并且将bitbucket存储库作为嵌入在openshift存储库的子文件夹中的单独存储库运行

git submodule add path_to_bitbucket folder/in/openshift

在openshift存储库中。

你必须运行一个occaisonal git submodule update来保持openshift的最新状态,但你可能已经预料到了那种额外的工作。

答案 1 :(得分:0)

我也遇到了同样的问题!非常烦人,但我采取了另一条道路

为什么不从头开始创建Python 2.7项目?目前的Django结构老实说很烦人。我的方式是:

  1. 创建一个openhift项目,该项目处于令人讨厌的结构中。
  2. 复制,保存(在我的本地FS中,而不是在Openshift中)settings.py和wsgi.py的副本。
  3. 丢弃该项目,并启动一个简单的Python 2.7项目。
  4. 查看我当地的FS,在我的本地fs中创建一个Django项目
  5. 更换wsgi的内容和设置相应(调整任何可能错位的路径 - 它比看起来更容易)。
  6. 提交/推送(这个新结构)。
  7. 你将在第4点做不同的事情:你也会检查那个远程分支(bitbucket),将它合并到openshift分支上,在第5点相应地更改这些文件,然后推送openshift分支。

    你有一个全新的项目,与你的结构相匹配(也许你想在你的环境中配置两个远程分支:openshift和bitbucket)。

    这就是我的方式,说实话,我没有什么可遗憾的。

    Offtopic,但也许因为你使用Django 会很有用:如果你想要使用(gunicorn | uwsgi)+ nginx(使用自定义购物车),这一点非常重要。它不提供apache但是nginx和python),因此不能使用默认的Django购物车。