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

git rm をマスターする:リポジトリからファイルを削除するための完全ガイド

git rm コマンドは、Git リポジトリからファイルを削除します。このコマンドは、ファイル システムからファイルを削除し、Git リポジトリによって追跡されているファイルのリストからそのファイルを削除します。 –cached フラグを使用すると、ファイル システム上でファイルを削除せずに、Git リポジトリからファイルを削除できます。

Git リポジトリからファイルを削除するにはどうすればよいですか?良い質問ですね。ファイルを永久にリポジトリの一部として残しておきたいとは限りません。ファイルがプロジェクトにとって不要になったと判断し、そのファイルを Git リポジトリから削除する場合があります。

Git リポジトリからファイルを削除するには、git rm コマンドを使用できます。これは git add コマンドの逆です。ファイルを削除します。

このガイドでは、git rm コマンドの使用方法について説明します。 git rm コマンドの例を見て、それがどのように機能するかを示します。始めましょう!

Git でのファイルの管理方法

git rm コマンドの使用方法について説明する前に、Git バージョン管理システムでファイルがどのように管理されるかを理解する必要があります。

Git リポジトリ内のファイルは、追跡することも追跡しないこともできます。

追跡されたファイルは、git コミットに含まれているファイルです。追跡されていないファイルは、リポジトリにまだコミットされていないファイルです。通常、追跡されていないファイルは、コミットを作成する前に作成したファイルです。

Git コミットにファイルを追加するには、git add コマンドを使用できます。これにより、追跡されたファイルになります。ファイルの追跡を停止したい場合は、git rm コマンドを使用できます。

git rm コマンドは、Git リポジトリからファイルまたはファイルのグループを削除します。ファイルはマシンと Git リポジトリの両方から削除されます。ファイルをローカル マシンに保存するには、-cached フラグを使用します。

フラグを指定しないと、このコマンドは Git リポジトリとローカル作業ディレクトリの両方からファイルを削除します。これは、Linux rm コマンドがコンピュータからファイルを削除するのと同じように、ファイルを削除することを意味します。

このコマンドの最も簡単な使用法は、ファイルを削除することです。 settings.json というファイルを Git リポジトリから削除しましょう。

このコマンドは、リポジトリのトラッキング領域から settings.json を削除します。これと同じコマンドを使用して、複数のファイルを削除できます。これを行うには、削除するファイルまたはフォルダの名前をスペースで区切ります。

git rm settings.json .env

これにより、settings.json ファイルと .env ファイルがリポジトリから削除されます。

デフォルトでは、rm コマンドを実行してパスをステージング解除および削除するときに、Git は安全性チェックを実行します。これにより、現在のブランチ上のファイルがステージング インデックス内のファイルと同じであることが確認されます。 -f または -force フラグを使用して、この動作をオーバーライドできます。

-f フラグは、ファイルを削除することが確実である場合にのみ使用してください。そうしないと、後でマージ競合が発生する可能性があります。この問題が発生した場合は、マージ競合を解決する方法に関するガイドを使用して解決してください。

Git rm –cached

Git rm –cached フラグは、ステージング領域からファイルを削除します。作業ディレクトリのファイルはそのまま残ります。これは、ファイルのコピーがローカルにまだ残っていることを意味します。ファイルは、Git プロジェクトを追跡するインデックスから削除されます。

settings.json 作業ツリー ファイルをリポジトリから削除しますが、プロジェクト ディレクトリには残しておきます。

git rm --cached settings.json

次のコミットをプッシュすると、settings.json ファイルが削除されます。

ファイルがローカル作業ディレクトリに存在する限り、そのファイルを Git リポジトリに追加し直すことができます。 git add コマンドを使用してこれを行うことができます。 git add の詳細については、git add コマンドに関するチュートリアルをご覧ください。

git rm コマンドを元に戻す方法

git rm コマンドは、コミットが行われるまでステージング領域と作業ディレクトリのみを更新します。これは、コマンドを元に戻すことができることを意味します。 git rm コマンドを元に戻すには、git restart を使用してリポジトリを最後のコミットにリセットします。

Git HEAD コミットは、リポジトリ内の最後のコミットを表します。したがって、このコマンドはリポジトリを最後のコミットに戻します。

リポジトリへの変更をすでにコミットしている場合でも、git rm コマンドを元に戻すことができます。これを行うには、 git replace コマンドを使用して、元に戻したいコミットのハッシュを指定します。

git reset a7e3cce9637c74281e6590003b39d3990bbb2731

git リポジトリを以前のコミットに戻します。 「reset」という単語の後の文字列は、最後のコミットのハッシュです。

リポジトリを元に戻すと、コミット前にそのリポジトリがどのように表示されていたかを確認できます。これは、ファイルが引き続きステージングされることを意味します。言い換えれば、 git rm コマンドは取り消されたことになります。

Git rm と rm

git rm コマンドは、作業マシンと Git リポジトリの両方からファイルを削除します。一方、rm コマンドは、Git リポジトリからファイルを削除しません。

Git リポジトリからファイルを削除する場合は、git rm を使用する必要があります。これは、git rm コマンドが Git リポジトリからファイルを削除する命令を実行するためです。 Linux システム上のすべてのファイルが Git リポジトリにあるわけではないため、Linux rm コマンドは Git リポジトリからファイルを削除しません。

結論

git rm コマンドを使用すると、Git リポジトリおよび作業ディレクトリからファイルを削除できます。 Git リポジトリからファイルを削除するだけの場合は、-cached フラグを使用できます。

git rm をマスターする:リポジトリからファイルを削除するための完全ガイド

「キャリア カルマは、私が最も必要としたときに私の人生に入り込み、すぐにブートキャンプに参加するのに役立ちました。卒業から 2 か月後、私は自分の価値観と人生の目標に合致する夢の仕事を見つけました。」

Rockbot のソフトウェア エンジニア、Venus 氏

ブートキャンプにマッチするものを見つけてください

これで、コマンド ラインのエキスパートのように git rm コマンドを使用する準備が整いました。

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


  1. 非永続的なCSMAプロトコル

    非永続的CSMAは、メディアアクセス制御(MAC)層で動作するCarrier Sense Multiple Access(CMSA)プロトコルの非アグレッシブバージョンです。 CMSAプロトコルを使用して、複数のユーザーまたはノードが、複数のノードを接続する単一のケーブルまたは光ファイバー、あるいはワイヤレススペクトルの一部である共有メディアを介してデータを送受信します。 非永続的CSMAでは、送信ステーションに送信するフレームがあり、ビジーチャネルを検出すると、その間にチャネルを検出せずにランダムな時間待機し、アルゴリズムを再度繰り返します。 アルゴリズム 非永続的CMSAのアルゴリズム

  2. データ構造のオイラーグラフとハミルトングラフ

    このセクションでは、オイラーグラフとハミルトングラフを表示します。しかし、それに飛び込む前に、最初にグラフの軌跡が何であるかを確認する必要があります。以下のようなグラフが1つあるとします- トレイルはパスであり、エッジ(v1、v2)、(v2、v3)、…、(vk-1、vk)のシーケンスであり、すべての頂点(v1、v2、…、vk)が区別されない場合があります。 、ただし、すべてのエッジが異なります。この例では、1つのトレイルは{(B、A)、(A、C)、(C、D)、(D、A)、(A、F)}です。これはトレイルです。ただし、頂点Aが2回アクセスされるため、これは単純なパスとは見なされません。最