web-dev-qa-db-ja.com

コアを変更せずにDrupalプロジェクトのアイテムをgitignoreするにはどうすればよいですか?

Drupalプロジェクトがあり、バージョン管理に Git を使用したいのですが、Gitで無視されるフォルダがいくつか必要です。問題はです。 gitignoreはコアファイルのようです。最後の「drush up」コマンドの後で、gitignoreファイルが置き換えられました。

それで、各開発者に手動で自分のグローバル.gitignoreファイルにエントリを追加するように依頼する以外に、Drupalのパスを効果的に.gitignoreするための良い方法はありますか?

4
TMorgan

.gitignore.htaccess、およびrobots.txtは、Drupalのクローンを作成するときにパッケージの一部として提供されますが、それらはコアの一部とは見なされず、変更または置換できないとは思わないでください。あなた自身のファイルで。

これが私がすることです:(drush up)を更新する前に、これら3つのファイルのバックアップを作成します。更新後、CLIプログラムdiffを使用して、新しく更新されたバージョンとバックアップを比較します(通常、.gitignoreには、Drupalに付属するものよりも多くのエントリが最後にあります)。他に何も変更されていない場合は、Drupalに付属しているものをバックアップで上書きします。diff.gitignoreの「drupal部分」が変更したことを示している場合、上書きする前にこれらの変更をバックアップバージョンにコピーします(.htaccessおよびrobots.txtと同じ手順です)。

6
Free Radical

グローバル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:追跡されていないファイルに加えて、追跡されていないディレクトリを削除します。

4
mikeytown2

.gitignoreファイルはDrupalコアリリースに含まれていますが、コアを変更しないの一般的な経験則は適用されません。is必要に応じて変更することを目的としており、.gitignoreファイル自体のコメントがこれを示しています。

質問で述べたように、.gitignoreファイルはDrupalリリースパッケージに含まれているため、アップデートの実行時にカスタマイズバージョンが誤って上書きされる可能性があります。これに対する1つの解決策は、変更された.gitignoreファイル自体をバージョン管理下に置きます。これは、.gitignoreファイルの.gitignoreエントリをコメント化し、リポジトリへのコミットを実行するだけで実行できます。

このソリューションにはいくつかの利点があります。

  1. カスタマイズしたバージョンの.gitignoreは、誤って上書きされても失われません。
  2. 意図的に.gitignoreをDrupalリリースパッケージに含まれているバージョンで上書きしてから、gitの差分とマージを使用できますおそらくすでに慣れ親しんでいる方法で、公式リリースで行われた変更を組み合わせる機能。
  3. プロジェクトが発展するにつれて、プロジェクト内の任意のファイル(.gitignoreなどの開発関連ファイルを含む)への変更を追跡する方法があることは、もちろん非常に有利です。
2
hampercm

Drupalサイトがサブディレクトリである新しいリポジトリを作成することで問題を解決したことがわかりました。これは新しいリポジトリでしたので、複雑ではありませんでした。

2
TMorgan

.gitignore自体を.gitignoreのローカルコピーに追加できます。

0
mustaccio