モジュールを更新してgitでコミットする最良の方法は何ですか?
現在、drush pm-updatecode
を使用してから、git status
で検査します。問題は、変更、追加、または削除された多くのファイルがあることです。次に、正しいファイルに対してadd
またはrm
を実行するのは少し面倒です。
最初にモジュールでrm
を実行してコミットし、次にdrush dl
、add
、commit
を実行する方が良いでしょうか?
_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コマンドがいくつかあります。
たとえば、ビューモジュールを更新する場合は、次の操作を実行できます。
drush up views
git add /sites/all/modules/views
git commit -m 'views update'
このようにして、ビューフォルダーの変更のみがコミット前のステージングに追加されます。