Codeigniterプロジェクトのgit環境
-
13-10-2019 - |
質問
私はに基づいて新しいCIプロジェクトを始めています CI 2.0リアクターリポジトリ. 。 CI2コードはまだ変化しているため、そのコードを新鮮に保ちたいと思います。問題は(GITを使用する)方法です。
非CIの人々にとって、CI2プロジェクトの基本構造は次のようになります。
system/
application/
index.php
...
システムディレクトリにはフレームワーク、index.phpがブートストラップを行い、アプリケーションには私のプロジェクトが含まれています。理想的には、index.phpとシステムフォルダーの両方をgitを使用して最新の状態に保ちたいと思います。私が順守したいもう1つのことは、アプリケーションフォルダーの名前です。 (index.phpのアプリケーションフォルダーのパスを変更できます。)名前を同じに保つことで、フォルダーをドロップしてから外れて行くことができます。
私はこれを使用して実現しようとしました gitサブモジュール (以下を参照)が、サブモジュールでは、ターゲットリポジトリからディレクトリを指定できません。
git submodule add https://github.com/philsturgeon/codeigniter-reactor.git/code-igniter/system system
私がこれを達成する方法はありますか?
解決
悲しいことに、サブモジュール内の特定のフォルダーを参照することはできません。サブモジュール自体のルートのみです。つまり、アプリケーションをサブフォルダーに入れる必要があることを意味します。
ただし、GITアプリケーションに2つのリモコンを設定できます。
git init
Git Remote Add Origin git://何でも
Git Remote Add Reactor git@github.com:philsturgeon/codeigniter-rector.git
次に、原子炉の変更で更新します
Git Pull Reactor Master
Git Push Origin Master
このクローンは、Mercurialを学習する必要なく、人々がCodeigniter Reactorの変更を取得できるようにすることを実際に意図していることを忘れないでください。
他のヒント
私も同じ問題に出くわしました。
Gitを使用して、CodeIgniterコアをアプリケーションでコピーして毎回貼り付けて貼り付けたいと思います。 GITサブモジュールを使用するには多くの利点があります(そして、GITを使用している人はすでにそれを知っています)。
だから私はこのようにそれをしました:
mkdir yourapp
cd yourapp
git init
git sudmodule add git://github.com/EllisLab/CodeIgniter.git codeigniter
mkdir public
cp codeigniter/index.php public/
cp -rp codeigniter/application .
Public/index.phpを編集して変更します。
$system_path = 'system';
に:
$system_path = '../codeigniter/system';
と:
$application_folder = 'application';
に:
$application_folder = '../application';
ウェブサーバーを「パブリック」フォルダーに向けてください。これで、サブモジュールとしてCodeigniterを使用したプロジェクトがあります:)
このようなことについては、それらを手動で更新し、競合をチェックします。
あなたの質問に対する本当の答えではありませんが、一般的に、サードパーティのプロジェクトの変化を信頼することは良い考えではありません。更新は警告なしにアプリケーションを破ることができます。時々手動で更新し、更新後にアプリケーションをテストすることをお勧めします。このようにして、アプリケーションの突然の休憩は発生する可能性が低くなります。
GitHubリポジトリのフレームワークコアを保存したり、別のリポジトリを介して直接引き込むプロジェクトやフレームワークに出くわしたことはありません。あなたはそのようなものを作曲家に頼るべきです。