プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

Gitで追跡されていないファイルを削除する

git cleanコマンドを使用して、追跡されていないファイルを削除できます。 -fdコマンドは追跡されていないディレクトリを削除し、gitclean-fxコマンドは無視されたファイルと無視されていないファイルを削除します。 .gitignoreファイルを使用して追跡されていないファイルを削除できます。

Gitリポジトリには、追跡ファイルと追跡されていないファイルの2種類のファイルがあります。追跡されていないファイルをGitリポジトリから削除する必要があるシナリオが発生する可能性があります。

追跡されていないファイルを削除する必要がありますか?次の場合にそうする必要があるかもしれません:

  • 未使用のファイルが散らかっている作業中の(ローカル)ディレクトリ
  • Gitに不要なフォルダを指定しました
  • 他のマージからのファイルが残っているか、特定のファイルを削除したい。

Gitは追跡されていないファイルを削除しました

次の方法を使用して、Gitブランチから追跡されていないファイルを処理できます。

  • リポジトリ内のファイルとディレクトリを無視する.gitignoreファイル
  • 追跡されていないファイルと追跡されているファイルを削除するgitclean-fxコマンド
  • 追跡されていないファイルとディレクトリを削除するgitclean-fdコマンド

このガイドでは、Gitを使用して追跡されていないファイルを削除する方法について説明します。すぐに始められるように、いくつかの例を参照します。

追跡されたファイルと追跡されていないファイルの違い

作業ディレクトリまたはローカルディレクトリでは、ファイルは追跡されているか、追跡されていません。 追跡 以前のスナップショットで追加およびコミットされたファイルを意味し、Gitはそれらのファイルを認識して、変更を追跡します。

追跡されていない ファイルは反対であり、それらのファイルは前のコミットに含まれておらず、コミットされるようにステージングされていません。それらをステージングしてリポジトリにコミットするか、削除するかを選択できます!

gitステータスを実行する場合 ファイルを変更/追加した直後に、追跡されていないファイルと追跡されているファイルのリストが表示されます。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

追跡されていないファイルを削除するGitオプション1:.gitignore

最初のオプションは、無視することです そのようなファイル。ビルド中に、使用したくないファイルが生成される可能性があるC++プロジェクトで作業している可能性があります。

たとえば、 .envがあるとします。 すべての環境変数とデータベース、API、アクセスキーを含むファイル。あなたはその情報を実際に公開したくないでしょう?ここが.gitignore ファイルが再生されます。

.gitignoreに存在するすべてのファイル ファイルは、追跡されていない/追跡されているGitフローの一部にはなりません。 削除されます それから。したがって、Gitはそれらを無視し、追跡したり、追跡されていないと文句を言ったりしません。

まず、 .gitignoreを作成しましょう ルート内のファイル。次に、場所の相対パスを指定します。したがって、node_modulesファイルとconfig.envファイルを非表示にする場合は、次のように追加します。

node_modules
config.env

プロジェクトが成長するにつれてGitignoreを理解することが不可欠であるため、そこに追加する必要のあるフォルダーまたはファイルを知っておく必要があります。これは、Gitワークフローでそれらを追跡せずに誤ってステージングし、Gitにそのような機密ファイルを追跡させて、すべての人がキーが公開されていることを確認できるようにしたくないためです。

プロジェクトが成長するにつれてGitignoreを理解することが不可欠であるため、そこに追加する必要のあるフォルダーまたはファイルを知っておく必要があります。これは、Gitワークフローで、誤ってステージングするために追跡されないようにしたくないためです。これにより、Gitはリポジトリで共有されるべきではない情報を含むファイルの追跡を開始します。

追跡されていないファイルを削除するGitオプション2:git clean

ファイルを削除する必要がある次のオプションは、 git cleanを使用することです。 指図。 git cleanコマンドは、追跡されていないファイルをリポジトリから削除します。

git cleanコマンドは、作業ツリー内の現在の作業ディレクトリから開始します。作業ツリーは、表示しているブランチです。

このコマンドは、たとえば、高校の写真を含むフォルダを別のフォルダではなくリポジトリに誤って追加した場合に役立ちます。

Gitcleanにはいくつかのオプションがあります。このコマンドの構文を見てみましょう:

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…​

この時点で、Gitcleanはハードシステムの方法でファイルを削除することを言及する価値があります。 。これは、変更を元に戻すことができないことを意味します。 rmに似ています ターミナルのコマンド。ただし、ファイルが以前のコミットで追跡された場合は、古いバージョンを見つけることができる場合があります。

git clean -d -n

パスを指定しない場合は、 -dを含めることがよくあります。 Gitに追跡されていないディレクトリを調べさせるオプション。

-nドライランオプションを含める必要があります 最初。これにより、Gitは、削除する前に何が削除されるかを警告するように指示されます。つまり、-nフラグは、クリーン関数のドライランを実行します。次に、変更が加えられたことを確認したら、gitcleanを実行できます。

このオプションを使用すると、削除する準備ができていないファイルや削除したくないファイルを削除しないようにすることができます。最終的にgitclean -d -nになる方法は次のとおりです。 指図。

これを実際に見てみましょう。追跡したくない、削除したいsillyPicture.jpgがあります。何が起こるかを確認してください:

Gitで追跡されていないファイルを削除する

git clean -f

Gitをクリーンに動作させるには、強制オプションを指定する必要がある場合があります このオプションは、選択したファイルをリポジトリから削除することが確実な場合にのみ使用してください。

先に進み、 git clean -fを使用してsillyPicture.jpgを削除しましょう。 または、 git clean -f sillyPicture.jpgを使用してより具体的にすることもできます

Gitで追跡されていないファイルを削除する

ここで、git statusが最初に追跡されていないファイルがあることを指摘し、次に -fで削除したことに気付くかもしれません。 オプションでファイルがなくなりました。 C’est fini!

-f オプションとGitcleanは非常に強力で、無視されたファイルでは機能しません。これは、Gitが認識し、バージョン管理システムの一部であるファイルでのみ機能するためです。

git clean -x

自分が何をしているのかを本当に理解していない限り、これはお勧めできません。 はい 無視されたファイルやディレクトリを削除できます。これを行うには、 -xを使用するだけです。 オプション。したがって、 git clean -d -x -f まばたきと同じくらい簡単にそれを行います。ただし、まだ使用しないでください。

git clean -d -i

初心者におすすめです。開始するときに、渡すオプションに注意する必要があるかもしれません。すでにドライランを示しました -n オプション。 -iもあります 遊ぶことができるインタラクティブなインターフェースを表示するオプション!

Gitで追跡されていないファイルを削除する

結論

.gitignoreまたはgitcleanコマンドを使用して、追跡されていないファイルをリポジトリから削除できます。 git cleanコマンドは、ファイルを再帰的に削除します。このコマンドは、現在の作業ディレクトリで開始されます。

Gitの詳細については、Gitの学習方法ガイドをご覧ください。


  1. Gitの初心者向けガイド

    Linuxユーザーの場合、おそらく新しいプログラムをダウンロードしようとしたり、CVSやSubversionなどのバージョン管理システムを調べたりしているときにGitに出くわしたことがあるでしょう。 Gitは、既存のソリューションに満足できないため、Linuxカーネルの有名なLinusTorvaldsによって作成されたリビジョン管理システムです。設計の主な重点は、速度、より具体的には効率にありました。 Gitは、以前のシステムの多くの欠点に対処し、すべてをはるかに短い時間で実行します。 Gitの学習を検討している場合は、この初心者向けガイドが開始に役立ちます。 Gitの機能 顧客向けのWeb

  2. OneDrive ファイルを他のユーザーと共有する方法

    Microsoft OneDrive は、Windows の既定のオンライン ストレージおよび同期サービスです。信じられないほど幅広い機能が搭載されているため、このアプリはほとんどすべての競合他社よりも優れていると言っても過言ではありません。 OneDrive を使用すると、ドキュメントをオンラインで保存したり、Web アプリケーションで Microsoft Office (Word、PowerPoint、Excel) にアクセスしたりできます。さらに、Microsoft 365 を購読しているかどうかに関係なく、パートナー、サプライヤー、クライアント、顧客など、組織外の人々と安全に共同作