.gitignoreファイル、xcodeプロジェクトのどこに配置すればよいですか?


回答:


124

.gitignoreプロジェクトのすべてのディレクトリにを置くことができます。

ただし、ベストプラクティスは.gitignore、プロジェクトのルートディレクトリに1つのファイルを置き、無視するすべてのファイルを次のように配置することです。

ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn

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

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

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

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


1
この.gitignoreはoriginまたはmaster / local-repoコピーに追加する必要がありますか?
アディル2013

1
ローカルで(もちろん、ある時点で元の場所にプッシュします)。
ダニエルリベイロ

21

gitにはファイルを無視する方法があります。

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

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

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



12

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

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

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

Elnur Abdurrakhimov彼の回答で述べたように、同様のすべてのプロジェクトでこのファイルを除外する必要がある場合は、グローバルに除外してください。

echo UserInterfaceState.xcuserstate >> ~/.gitignore

しかし、「*。xcuserstateをチェックインする必要がありますか?」で説明したように、そのリポジトリのユーザーが無視する必要があるファイルのタイプである場合、実際には、リポジトリの上部にある.gitignoreをバージョン管理します。次のような内容で

*.xcuserstate 

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

または、完全に無視するxcuserdata/こともできます(グローバル.gitignoreまたはバージョン管理されたもののいずれかで、一般的なGitHubObjective-C.gitignoreファイルのように)。


あなたはGITの伝説です!常にあなたの答えが最も役に立ちます。
Jad Chahine、2016年

@JadChahineありがとうございます。助けてくれてうれしい(少なくとも、これらの答えを書くとgitを学ぶのに役立つ)
VonC

@tymacないかなり;)私は(定期的に訪問meta.stackexchange.com/questions/122976/...
VonC

9

あなたはすべきではないプロジェクトのにツール固有のファイルを置く.gitignoreファイル-そのツールは、プロジェクトの各開発者が使用する必要がある場合を除きます。

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

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

これで、開発ツールによって生成されたファイルをファイルに入れることができ.gitignoreます。


6

通常、.gitignoreファイルをプロジェクトのルートディレクトリに含めることをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.