web-dev-qa-db-ja.com

Drushでモジュールを更新+ Gitでコミット

モジュールを更新してgitでコミットする最良の方法は何ですか?

現在、drush pm-updatecodeを使用してから、git statusで検査します。問題は、変更、追加、または削除された多くのファイルがあることです。次に、正しいファイルに対してaddまたはrmを実行するのは少し面倒です。

最初にモジュールでrmを実行してコミットし、次にdrush dladdcommitを実行する方が良いでしょうか?

5
Allan Thomas

_git add -A_は、探している簡単な答えです。 pm-updatecodeで提供または削除された新しいファイルを含め、現在の作業ディレクトリ内のすべてのファイルを追加します。 (注:_git add ._の動作は_git add -A_と同じですが、削除されたファイルがコミットに含まれない点が異なります。)

ただし、_git add -A_には不都合な点が1つあります。つまり、途中で迷惑ファイルがあった場合、それらもリポジトリに追加されます(明らかに十分です)。この問題を回避するには、絶対にコミットしてはならないファイルを.gitignoreファイルにリストするか、_git reset HEAD unwantedfile_の前に_git commit_の前に_git status_を使用します。

drushは--version-control = svnオプションでこれを管理しますが、ご想像のとおり、これはsvnにプロジェクトがチェックインされている場合にのみ役立ちます。現時点では、誰も--version-control = gitを作成していません。これは http://drupal.org/node/79719 で説明されていましたが、「実装されません」と閉じられました。他にも、そのスレッドで試す良いgitコマンドがいくつかあります。

7
greg_1_anderson

たとえば、ビューモジュールを更新する場合は、次の操作を実行できます。

drush up views
git add /sites/all/modules/views
git commit -m 'views update'

このようにして、ビューフォルダーの変更のみがコミット前のステージングに追加されます。

1
Bálint Deáki