Sourcetreeで管理されているBitbucket Gitリポジトリがあります。
コミットする2つのフォルダーがありますが、これらのフォルダーには一時ファイルのみが含まれているため、これらのフォルダー内のすべてのファイルを無視する必要があります。
どうやってやるの?
これを.gitignoreに追加します。
*
!.gitignore
Sourcetreeユーザーの場合:特定のフォルダーを無視する場合は、このフォルダーからファイルを選択して右クリックし、「無視...」を実行します。 「以下のすべてを無視:<YOUR UNWANTED FOLDER>」を無視できるポップアップメニューが表示されます。
[無視]オプションがグレー表示されている場合は、[追跡の停止]オプションを選択する必要があります。その後、赤い背景アイコンにマイナス記号が付いたステージングファイルにファイルが追加され、ステージングされていないファイルリスト内のファイルのアイコンがバイオレットの背景にある質問記号に変わります。 ステージングされていないファイルリストで、「無視」オプションが再び有効になりました。上記のようにしてください。
私の知る限り、Gitはフォルダーを追跡せず、ファイルのみを追跡するため、空のフォルダー(またはすべてのファイルが無視されるフォルダー)はコミットできません。あなたが例えばビルドプロセスのいくつかのステップのためにフォルダーが存在する必要があります。おそらく、代わりにビルドツールで作成することができますか?または、フォルダに空の無視されていないファイルを1つ入れてコミットすることもできます。
少なくとも1時間、これに頭を痛めた後、私はこの答えを提供して、他の人が行ったコメントを拡大しようとしました。フォルダー/ディレクトリを無視するには、次の手順を実行します。プロジェクトのルートに.gitignoreファイルがない場合(正確には ".gitignore"という名前)、除外するフォルダーにダミーテキストファイルを作成します。ソースツリー内で右クリックし、[無視]を選択します。次のようなポップアップが表示されます。
[下にあるすべて]を選択し、ドロップダウンリストから無視するフォルダーを選択します。これにより、ルートディレクトリに.gitignoreファイルが作成され、フォルダー指定がその中に配置されます。
ルートフォルダーに.gitignoreフォルダーが既にある場合は、上記と同じアプローチに従うか、単に.gitignoreファイルを編集して除外するフォルダーを追加することができます。これは単なるテキストファイルです。 Windowsユーザーは慣れているため、パス名にはバックスラッシュではなくスラッシュを使用していることに注意してください。 Windowsエクスプローラーで手動で.gitignoreテキストファイルを作成しようとしましたが、名前のないファイル(拡張子のみ)を作成できませんでした。
.gitignoreとファイル指定を追加しても、既に追跡されているファイルには影響しないことに注意してください。これらを既に追跡している場合は、それらの追跡を停止する必要があります。 (フォルダーまたはファイルを右クリックし、[追跡の停止]を選択します。)緑/クリーンまたはアンバー/変更アイコンから赤/削除アイコンへの変更が表示されます。次回のコミット時に、ファイルはリポジトリから削除され、その後青/無視アイコンで表示されます。別の貢献者が、特定のファイルで無視が無効になっている理由を尋ねましたが、すでに追跡されているファイルを無視しようとしたためだと思います。青色の疑問符アイコンがあるファイルのみを無視できます。
他の人が述べたように:gitはフォルダーを追跡せず、ファイルのみを追跡します。
次のコマンド(または同等のロジック)を使用して、フォルダーが存在することを確認できます。
echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"
ファイルが存在するということは、リポジトリをチェックアウトするすべての人がフォルダを持っていることを意味します。
Gitignoreファイルの内容は、その中のすべてが無視されることを意味します
あなたはnot.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、空です。
Ignoreオプションがグレー表示されている場合、ファイルを無視する前にファイルの追跡を停止する必要があります。ファイルを右クリックして、[追跡の停止]をクリックするだけです。
横に青いアイコンが表示されます。もう一度右クリックして、無視をクリックします。
ソースツリーの完全なフォルダーを無視します。
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 /と書きます。
Sourcetree:指定されたフォルダー内のファイルを無視します。 Sourcetreeは、そのフォルダー内のすべてのファイルを無視するかどうかを尋ねます。それは完璧だ!