0

私は3つの環境を持つDrupalサイトを持っています:

  1. dev-VM上で実行されているvagrantベースの開発環境
  2. stg-本番環境をミラーリングします。コードを本番環境にライブでデプロイする前に、
    stgにデプロイして、すべてが機能することを確認します
  3. prod-ライブサイト

バージョン管理システムはgitです。コーディングが完了したら、コードをgitリポジトリにコミットし、コードをオリジンマスターiegit commit -m <msg>とにプッシュしますgit push origin master。その後、としてステージングにデプロイされgit push staging masterます。生産のために、それはgit push production masterです。

数週間前、本番サーバーに直接コードを変更する必要がありました。さて、通常のプッシュサイクルで何かをプッシュしようとすると、失敗します。開発でコーディングし、オリジンマスターとステージングにプッシュすることはできますが、本番環境にプッシュすることはできません。

プッシュしようとすると、次の結果が得られます。

Counting objects: 148, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (85/85), done.
Writing objects: 100% (126/126), 1.20 MiB | 169 KiB/s, done.
Total 126 (delta 52), reused 107 (delta 35)
remote: error: packfile <path-to-packfile> cannot be accessed
remote: error: hook declined to update refs/heads/master To ssh://admin@<site-name>.com/shared/repositories/dlc_drupal.git ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'ssh://admin@<sitename>.com/shared/repositories/dlc_drupal.git'

何が問題になる可能性があり、prod git pushを修正するにはどうすればよいですか?

どんな助けでも大歓迎です。また、関連性があるかどうかわからないため、一部の詳細を見逃している可能性があります。私にお知らせください。

4

1 に答える 1

0

本番サーバーでの早送りマージではない場合があります。チェックアウトするためにどのように設定されているか正確にはわかりませんが、

 git checkout -f 

チェックアウトを強制します。それはあなたの状況に応じてあなたが望むものかもしれないし、そうでないかもしれません。基本的に、サーバーで直接変更を加えたため、そのgitリポジトリは他のリポジトリと同じ通常のフローではなくなりました。これらの変更をローカルに保存し、サーバーでリセットしてから、もう一度プッシュしてみてください。

于 2012-09-10T17:55:08.220 に答える