Drupalプロジェクトがあり、バージョン管理に Git を使用したいのですが、Gitで無視されるフォルダがいくつか必要です。問題はです。 gitignoreはコアファイルのようです。最後の「drush up」コマンドの後で、gitignoreファイルが置き換えられました。
それで、各開発者に手動で自分のグローバル.gitignoreファイルにエントリを追加するように依頼する以外に、Drupalのパスを効果的に.gitignoreするための良い方法はありますか?
.gitignore
、.htaccess
、およびrobots.txt
は、Drupalのクローンを作成するときにパッケージの一部として提供されますが、それらはコアの一部とは見なされず、変更または置換できないとは思わないでください。あなた自身のファイルで。
これが私がすることです:(drush up
)を更新する前に、これら3つのファイルのバックアップを作成します。更新後、CLIプログラムdiff
を使用して、新しく更新されたバージョンとバックアップを比較します(通常、.gitignore
には、Drupalに付属するものよりも多くのエントリが最後にあります)。他に何も変更されていない場合は、Drupalに付属しているものをバックアップで上書きします。diff
が.gitignore
の「drupal部分」が変更したことを示している場合、上書きする前にこれらの変更をバックアップバージョンにコピーします(.htaccess
およびrobots.txt
と同じ手順です)。
グローバルgitignoreファイルを使用します https://www.drupal.org/node/1054616#comment-413981
以下を〜/ .gitignoreに配置します。
*~
*.orig
*.rej
*.patch
*.diff
LICENSE.txt
.directory
次に、これを実行します。
git config --global core.excludesfile ~/.gitignore
無視リストにあるファイル(.patchファイルなど)を追加するには、次のようにします。
git add --force awesome-sauce.patch
補足:コミットされていないすべてのファイルを clean アップするには、これを実行できます
git clean -x -f -d
-x
:これにより、追跡されていないすべてのファイルを削除できます。-f
:git cleanは、-f、-n、または-iを指定しない限り、ファイルまたはディレクトリの削除を拒否します。-d
:追跡されていないファイルに加えて、追跡されていないディレクトリを削除します。
.gitignoreファイルはDrupalコアリリースに含まれていますが、コアを変更しないの一般的な経験則は適用されません。is必要に応じて変更することを目的としており、.gitignoreファイル自体のコメントがこれを示しています。
質問で述べたように、.gitignoreファイルはDrupalリリースパッケージに含まれているため、アップデートの実行時にカスタマイズバージョンが誤って上書きされる可能性があります。これに対する1つの解決策は、変更された.gitignoreファイル自体をバージョン管理下に置きます。これは、.gitignoreファイルの.gitignore
エントリをコメント化し、リポジトリへのコミットを実行するだけで実行できます。
このソリューションにはいくつかの利点があります。
Drupalサイトがサブディレクトリである新しいリポジトリを作成することで問題を解決したことがわかりました。これは新しいリポジトリでしたので、複雑ではありませんでした。
.gitignore
自体を.gitignore
のローカルコピーに追加できます。