web-dev-qa-db-ja.com

.gitignoreファイル、xcodeプロジェクトのどこに置くべきですか?

GitにXCode4プロジェクトのUserInterfaceState.xcuserstateファイルを無視させたいのですが、.gitignoreファイルをどこに置くべきですか?.gitフォルダー内にありますか?それとも外? .gitProjectName.xcodeprojファイルと同じフォルダーにあります

.gitignoreプロジェクトのすべての単一ディレクトリ内。

ただし、ベストプラクティスは、単一の.gitignoreファイルをプロジェクトのルートディレクトリに配置し、次のように無視するすべてのファイルをその中に配置します。

ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn

.gitignoreファイル、変更があるか、リポジトリに新しく追加された無視ファイルは、コミット待ちとして表示されません。

1つのグローバルローカルgit ignoreファイルを使用して、すべてのgitリポジトリを管理することもできます。

git config --global core.excludesfile ~/.gitignore_global

この代替方法は、IDE関連ファイルなど)のように、プロジェクトに関連しない無視されたファイルにとって特に興味深いものです。

124
Daniel Ribeiro

Gitのファイルを無視する方法があります。

  1. グローバルgit ignore:-このアプローチでは、マシンのすべてのgitディレクトリにカスタムルールが適用されます。通常、このファイルは~/.gitignore_globalパスの下に作成されます。 このアプローチは、OSまたはその他のロギング、キャッシングなどのツールによって生成される一部のタイプファイルを除外する場合に適しています。
  2. リポジトリごとのgit ignore:-このアプローチでは、マシンの特定のgitディレクトリにカスタムルールが適用されます。ローカルのリポジトリごとのルールは、リポジトリの.git/info/excludeファイルに追加できます。このファイルで指定されたルールはコミットされません。つまり、他のユーザーと共有されません。 一般に、このアプローチはローカルで生成されたファイルのコミットを防ぐのに役立ちます。たとえば、エディタで作成されたファイルの場合。
  3. パスごとのgit ignore:-この場合、カスタムルールは特定のgitリポジトリサブパスに適用されます。特定のリポジトリの任意のサブパスに.gitignoreを作成できます。 このアプローチは、通常、特定のリポジトリの特定のフォルダーの下でのみいくつかのタイプのファイルを無視するために使用されました。このファイルは、他のパスや他のリポジトリによってバージョン管理に追加できます。

そのため、すべてのリポジトリで特定のファイル(UserInterfaceState.xcuserstate)を無視する場合、最善のアプローチはグローバルgit ignoreアプローチを使用することです。ただし、ファイルが特定のリポジトリでのみ生成される場合、リポジトリごとのgit ignoreアプローチを使用できます。

詳細については、 this 素晴らしいブログ投稿をご覧ください。そして、言語ごとにgit ignoreルールを見つけることができます hereこのWebサイト を使用して、特定の言語、ツール、またはosの一般的なgit ignoreルールを自動生成できます。

21
Khamidulla

.gitignoreファイルをプロジェクトのルートディレクトリに配置する必要があります。

20
heinrich5991

.gitignoreファイルはどこに置くべきですか?.gitフォルダー内ですか?

.gitignoreフォルダー内に.gitはありません。
ただし、これは.git/info/excludeファイルです。これにより、通常、この特定のレポ( エイリアスなど)のファイルのみを除外する場合に、ローカルでファイルを除外できますこれです ):

git config alias.exclude "!sh -c 'echo \"$1\" >> .git/info/exclude' -"
git exclude UserInterfaceState.xcuserstate

all同様のプロジェクトでこのファイルを除外する必要がある場合は、 Elnur Abdurrakhimov彼の答え 、グローバルに除外します。

echo UserInterfaceState.xcuserstate >> ~/.gitignore

しかし、「 *。xcuserstate? をチェックインする必要があるか」で述べたように、typeそのレポのすべてのユーザーが無視する必要があるファイルの場合、実際にはレポの上部にある.gitignoreをバージョン管理し、次のようなコンテンツを使用します。

*.xcuserstate 

そうすれば、そのリポジトリのユーザーは、このファイルが存在し、生成されていること(その名前が何であれ)さえ認識しません。git statusに表示されることはありません。

または、 xcuserdata/ を完全に無視できます(グローバル.gitignore、または ジェネリックGitHubのようなバージョン管理されたものでObjective-C.gitignore ファイル。

12
VonC

notツール固有のファイルをプロジェクトの.gitignoreファイル—プロジェクトの各開発者がそのツールを使用する必要がない限り。

代わりに、個人用のグローバル.gitignoreファイルをホームディレクトリに保存してアクティブにします。

git config --global core.excludesfile ~/.gitignore

これで、開発ツールで生成されたファイルを.gitignoreファイル。

9

通常、プロジェクトのルートディレクトリに.gitignoreファイルを含めることがベストプラクティスです

6
Ajey