SourcetreeにGitリポジトリがあるフォルダー内のすべてのファイルを無視するにはどうすればよいですか?


86

Sourcetreeで管理されているBitbucketGitリポジトリがあります。

コミットしたいフォルダーが2つありますが、一時ファイルしか含まれていないため、これらのフォルダー内のすべてのファイルを無視する必要があります。

どうやってやるの?

回答:


54

これを.gitignoreに追加します。

*
!.gitignore

13
これは、追跡する各フォルダー内に追加する必要があります。このファイル自体が存在すると、gitは(このファイルを追跡することにより)フォルダーを追跡します。*手段は、すべてのファイルを無視し、!.gitignore手段はファイル自体を無視しないでください
ビリー・ムーン

2
ビリームーンが説明したように、ありがとう。したがって、ディレクトリに.gitignoreファイルを作成できます。このファイルは、何を無視するか、何を無視しないかをGitに指示します。
Gergo Erdosi 2012年

21
SourceTreeでこれをどのように行いますか?
1.21ギガワット

1
これに.gitginoreはSourceTreeは必要ありません。これは通常のファイルであり、無視するコンテンツのディレクトリに作成するだけです。
Gergo Erdosi 2014年

1
以下の@ AD7sixで説明されているように、!。gitignoreは不要なので、ファイルに追加しないでください。
xcalibur 2016年

155

Sourcetreeユーザーの場合:特定のフォルダーを無視する場合は、このフォルダーからファイルを選択して右クリックし、「無視...」を実行します。「下のすべてを無視する:<YOUR UNWANTEDFOLDER>」を無視できるポップアップメニューが表示されます。

最初のメニュー

セカンドメニュー

[無視]オプションがグレー表示されている場合は、[追跡の停止]オプションを選択する必要があります。その後、ファイルは赤い背景アイコンのマイナス記号でステージングされたファイルに追加され、ステージングされていないファイルリストのファイルのアイコンは紫色の背景の疑問符に変わります。これで、[ステージングされていないファイル]リストで、[無視]オプションが再び有効になります。上記のようにしてください。


14
フォルダがすでにコミットされている場合は、最初にフォルダを削除し、変更をコミットしてから、上記の手順に従います。
RMorrisey 2014

16
「無視」オプションがグレー表示されています。誰かが理由を知っていますか?
Andrei Karcheuski 2015

6
Ignoreもグレー表示されています。
Micah Zoltu 2015

無視はgit無視に追加しますか?そうでない場合はなぜですか?
ジョーロイド

1
@JoeLloydはい、gitignoreに追加されます。作成/編集したgitignoreファイルを他のファイルと同じようにコミットすることもできます。
カルゼム2016年

25

ファイルを右クリック→無視下のすべてを無視します

場合は無視するオプションは、その後、グレーアウトされています。

  1. 最初にファイルをステージングする
  2. 右クリック→追跡の停止
  3. そのファイルは下のペインに疑問符付きで表示されます→ファイルを右クリック→無視

ここに画像の説明を入力してください


7

私の知る限り、Gitはフォルダーを追跡せず、ファイルのみを追跡します。そのため、空のフォルダー(またはすべてのファイルが無視されるフォルダー)をコミットすることはできません。たとえば、ビルドプロセスの一部のステップのためにフォルダーが存在する必要がある場合は、代わりにビルドツールにフォルダーを作成させることができますか?または、無視されない空のファイルを1つフォルダーに入れて、コミットすることもできます。


1
フォルダを追跡したい場合は、「ダミー」ファイルを追加して残りを無視する必要があるということですか?:-/
rubdottocom 2012年

2
@rubdottocom:そう信じています。フォルダーは、その中にあるファイルのためにのみgitに存在します。空のフォルダのバージョンを管理する必要があるのはなぜですか?
Aasmund Eldhuset 2012年

2
空のフォルダを追跡する理由はたくさんあります。個別に作成することなく、チェックアウトにユーザーが使用できるフォルダーを用意しておくことができます。あなたのコードは、例えば、特定のフォルダの存在にアップロードを期待しているフォルダを依存する場合がありますし、フォルダが存在しない場合、それはファイルをアップロードするために失敗があっなど...
ビリー・ムーン

@AasmundEldhusetによって説明された理由のために、Gergoによって与えられた答えは正しい解決策を持っています。
ビリームーン

@BillyMoon:理由があるかもしれないことに同意します。私は彼の特定のニーズが何であるかについて疑問に思っていので、私たちは最も適切な解決策を提案することができました。:-) Gergoのトリックは巧妙でしたが、私が提案したように、(多かれ少なかれ)ダミーファイルをフォルダーに追加することになります。しかし、彼の解決策はもっとgitっぽいので、彼に+1しました。
Aasmund Eldhuset 2012年

5

これについて少なくとも1時間頭を殴った後、他の人が行ったコメントを拡張するために、この回答を提供します。フォルダ/ディレクトリを無視するには、次の手順を実行します。プロジェクトのルートに.gitignoreファイル(正確には「.gitignore」という名前)がない場合は、除外するフォルダにダミーのテキストファイルを作成します。ソースツリー内で右クリックし、[無視]を選択します。このようなポップアップが表示されます。

ここに画像の説明を入力してください

「下にあるものすべて」を選択し、ドロップダウンリストから無視するフォルダを選択します。これにより、ルートディレクトリに.gitignoreファイルが作成され、その中にフォルダ仕様が配置されます。

ルートフォルダにすでに.gitignoreフォルダがある場合は、上記と同じ方法に従うか、.gitignoreファイルを編集して除外するフォルダを追加することができます。単なるテキストファイルです。Windowsユーザーが慣れているように、パス名にはバックスラッシュではなくスラッシュを使用することに注意してください。Windowsエクスプローラーで手動で.gitignoreテキストファイルを作成しようとしましたが、名前のない(つまり拡張子のみの)ファイルを作成できませんでした。

.gitignoreとファイル指定を追加しても、すでに追跡されているファイルには影響しないことに注意してください。 すでにこれらを追跡している場合は、追跡を停止する必要があります。(フォルダまたはファイルを右クリックして、[追跡の停止]を選択します。)次に、緑色/クリーンまたは黄色/変更されたアイコンから赤色/削除されたアイコンに変化するのがわかります。次のコミットで、ファイルはリポジトリから削除され、その後、青色/無視されたアイコンで表示されます。別の寄稿者は、特定のファイルに対して無視が無効になっている理由を尋ねました。これは、すでに追跡されているファイルを無視しようとしたためだと思います。青い疑問符アイコンが付いているファイルのみを無視できます。


Widnowsで.gitignoreファイルを作成するには、Gitbashコマンド「touch.gitignore」を使用します
Mikee

4

他の人が述べたように:gitはフォルダを追跡せず、ファイルのみを追跡します。

次のコマンド(または同等のロジック)を使用して、フォルダーが存在することを確認できます。

echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"

ファイルが存在するということは、リポジトリをチェックアウトする人は誰でもフォルダを持っているということです。

gitignoreファイルの内容は、その中のすべてが無視されることを意味します

.gitignoreファイル自体を無視しない必要ありませ。これは、一度コミットしてもまったく目的を果たさないルールです。

または

すべての無視定義を同じ場所に保持したい場合は、次のような内容でプロジェクトのルートに.gitignoreを作成できます。

*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder

フォルダーが存在することを確認します

touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"

「何でも」は文字通り何でもかまいません。一般的に使用される名前は、.gitignore、.gitkeep、emptyです。


3

[無視]オプションがグレー表示されている場合は、無視する前にファイルの追跡を停止する必要があります。ファイルを右クリックして「追跡を停止」をクリックするだけです。

その横に青いアイコンが表示されます。もう一度右クリックして、[無視]をクリックします。


2

ソースツリーのフォルダ全体を無視します。

   Just Open Repository >Repository setting > Edit git ignore File and 
   you can rite some thing like this :

 *.pdb 
*.bak 
*.dll
*.lib 
.gitignore
packages/ 
*/bin/
*/obj/ 

binフォルダーとobjフォルダーの場合は、次のように記述します。* / bin / * / obj /


0
  • SourcetreeのGitでフォルダー内のすべてのファイルを無視します。

SourcetreeのGitでフォルダー内のすべてのファイルを無視します


-2

Sourcetreeの場合:指定されたフォルダー内のファイルは無視してください。Sourcetreeは、そのフォルダ内のすべてのファイルを無視するかどうかを尋ねます。パーフェクトだ!


14
-1無意味な答え。(ソースツリーで)無視する方法を説明していないので!
エンジニア
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.