0

私は GIT を使用して Cakephp アプリケーションをデプロイしています。数日前に、データベースのバージョンと変更を簡素化するために、アプリで移行プラグイン (cakeDC による) の使用を開始しました。

移行プラグインをローカル開発マシンにインストールした後、変更をコミットして本番サーバーにプッシュし、そこから移行プラグインを実行しようとしました。サーバーをしばらく見た後、すべての移行プラグインが取得されていないことに気付きましたが、次のものが変更されました。

app/Config/bootstrap.php には次の行が追加されていました CakePlugin::load('Migrations');

Plugin フォルダーに Migrations フォルダーができましたが、空でした。

FTP経由でプラグインをアップロードすることでこれを解決しました。その上で git status を実行したところ、作業ディレクトリがクリーンであることが示されました...

GIT が Migrations プラグイン フォルダーの内容を追跡しないのはなぜですか?

4

1 に答える 1

1

Plugin フォルダーは、GIT がサブモジュールであると認識したため、追跡されていません。

GIT を使用してこのプラグインをプラグイン ディレクトリに複製したため、この問題に遭遇しました。それ自体がリポジトリであるため、gitはそれを追加しませんでした。GITが追跡ファイルに追加しなかったとき、私は手動で追加しました。git add app/Plugin/Migrations/ これにより、gitlinkが作成され、このスレッドに見られるように、本質的にサブモジュールのように機能しました。

Git - 追跡されていないコンテンツを追跡するには?

当時はプラグインをサブモジュールとして使用したくなかったので、次のコマンドでこの問題を修正しました。

git rm --cached app/Plugin/Migrations

git statusGITがプラグインを認識していることがわかった

次に、git add .and を続行できますgit commit -m "finally adding the plugin"

これが将来誰かに役立つことを願っています。

ありがとう!

于 2013-01-08T21:48:43.277 に答える