もっと詳しく

Gitの操作中にエラーが発生したり、Gitコミットで問題が発生したりしましたか? おそらく、誤った秘密または機密データが保存されています。 幸い、Gitを使用してファイルを処理し、コミットから削除して履歴を修正できます。

複数のコミットを行った場合、または既存のコミット履歴を使用してリポジトリのクローンを作成した場合は、通常、振り返ってすべてのコミットが行われたことを確認する必要があります。 また、このチュートリアルでは、Git履歴からエントリを削除する方法を学習します。

読んで、Gitで1日を節約しましょう!

前提条件

このチュートリアルは、ステップバイステップの手順で構成されています。 フォローしたい場合は、次のものが揃っていることを確認してください。

  • Gitコマンドをテストするためのローカルマシン–このチュートリアルではWindows 10を使用していますが、それ以降のバージョンでも機能します。
  • Git Bash –このチュートリアルではGitBash2.36を使用します。

GitCommitからのファイルの削除

チームとしてGitに取り組む場合、毎日何百ものコミットを行います。 その結果、誤ったファイルや複数のファイルなどが原因で、特定のコミットを取り消す必要がある可能性が高くなります。 この要求は通常、コードまたは構成の変更によって引き起こされ、問題になります。

この問題を解決するには、Gitコマンドを実行してGitコミットから1つまたは複数のファイルを削除する必要があります。 人気のあるツールの1つを使用して、Gitコミットから1つのファイルを削除します。GitBashツールです。

1.WindowsマシンでGitBashツールを開きます。

2.次に、以下のコマンドを実行してリポジトリフォルダーを作成し、そのフォルダーに切り替えます。 これらのコマンドは、端末に出力を提供しません。 ただし、〜/ Desktop / Repository/repo1を希望のフォルダパスと名前に置き換えてください。

# Creates the Repository folder and repo1 sub-folder
mkdir -p ~/Desktop/Repository/repo1
# Changes working directory to repo1
cd ~/Desktop/Repository/repo1

3.次のコマンドを実行してリポジトリを初期化し、次の名前の2つのテキストファイルを作成します。 test1.txttest2.txt。

# Initializes the local repository (creating a .git hidden folder)
git init
# Creates two text files
touch test_file1.txt test_file2.txt

4.次に、以下のコマンドを実行して、Gitコミットのステータスを確認します。

コマンドを実行すると、以下に示すように、コミットが追跡されておらず、まだコミットされていないことがわかります。

Git端末でGitコミットのステータスを確認する
Git端末でGitコミットのステータスを確認する

5.を実行します git add 手順3で作成した2つのテキストファイルを追加するには、以下のコマンドを実行します(test_file1.txt test_file2.txt)ローカルリポジトリに。

このコマンドは出力を提供しませんが、リモートリポジトリにファイルをプッシュせずにファイルを追加します。

6.次に、以下のgit commitコマンドを実行して、Gitがローカルリポジトリで行った進行状況と変更を追跡するようにします。

git commit -m "Adding two new files test_file1.txt and text_file2.txt"
リポジトリへの変更のコミット
リポジトリへの変更のコミット

7.コミットした後、以下のコマンドを実行して、Gitコミットから特定のファイル(test_file2.txt)を削除します。

git rm --cached test_file2.txt
Gitコミットから特定のファイルを削除する
Gitコミットから特定のファイルを削除する

8.最後に、以下のgit statusコマンドを再実行して、リポジトリのステータスを確認します。

以下に示すように、ファイルはステージング領域から削除され(Gitコミット)、追跡されていないファイルの下にファイル(test_file2.txt)が表示されます。

削除されたGitコミットの確認(test_file2.txt)
削除されたGitコミットの確認(test_file2.txt)。

最近コミットされたファイルをすべて削除する

Gitコミットから特定のファイルを削除する方法を学びました。 ただし、通常は複数のファイルを削除する必要があり、Gitは gitリセット 指図。 git resetコマンドは複雑ですが、同時に、リポジトリ内の変更を元に戻すための用途の広いツールです。

git resetがどのように機能するかを確認するには、いくつかのファイルをコミットしてから、変更をリセットして、Gitcommitに保存されている最近コミットされたファイルを削除します。

1.という名前の2つの新しいテキストファイルを作成します test_file3.txttest_file4.txt in 〜/ Desktop / Repository / repo1 フォルダ。

touch test_file3.txt test_file4.txt

2.次に、以下のgit addコマンドを実行します。このコマンドは出力を提供しませんが、新しいテキストファイルをローカルリポジトリに追加します(〜/ Desktop / Repository / repo1)。

3.以下のgitcommitコマンドを実行してファイルをコミットし、Gitがリポジトリで行った進行状況と変更を追跡するようにします。

git commit -m "Adding two more files"
リポジトリへの変更のコミット
リポジトリへの変更のコミット

4.次に、以下のコマンドを実行して、ローカルリポジトリのステータスを確認します。

以下に示すように、出力にはコミットするものがないというメッセージが表示され、すべてがリポジトリに配置されていることが示されます。

Gitコミットのステータスの確認
Gitコミットのステータスの確認

5.次に、以下のgit resetコマンドを実行して、ステップ3で最近行われたコミットを元に戻します。 このコマンドは出力を提供しませんが、ファイルを削除します test_file3.txttest_file4.txt

git reset –soft HEAD ^を使用して、これまでにコミットされたすべてのファイルを削除することもできます。

6.次に、以下のgit statusコマンドを再実行して、リポジトリのステータスを確認します。

以下の出力は、コミットする必要のあるファイルtest_file3.txtおよびtest_file4.txtを示しています。 この出力は、Gitコミットから削除されるファイルを示します。

最近のコミットが削除されたことを確認する
最近のコミットが削除されたことを確認する

Git履歴から特定のコミットを削除する

きれいな状態から始めたい場合は、コミットされたすべてのファイルを削除するのが魅力のように機能します。 しかし、特定のコミットを削除するだけでよい場合はどうでしょうか。 The git revert コミットのIDを知っている限り、コマンドはトリックを実行します。

「最近コミットされたすべてのファイルの削除」セクションの最後のステップで、コミットがコミットされていないが変更されていることに気づきました。 次に、変更をコミットして、 git revert 動作中のコマンド。

を実行します git commit 以下のコマンドを使用して、ローカルリポジトリの最近の変更をコミットします。

git commit -m "Hello, I am committing those two files again"

コマンドを実行すると、両方のテキストファイルが再度コミットされ、コミットIDが次のようになっていることがわかります。 0315b85、 以下に示すように。

ローカルリポジトリでの変更のコミット
ローカルリポジトリでの変更のコミット

今、実行します git revert 前の手順で行ったコミットを元に戻すには、以下のコマンドを実行します。 必ず交換してください 0315b85 コミットのIDを使用します。

以下に、最近コミットした2つのファイルが削除されたことがわかります。

ローカルリポジトリの変更を元に戻す
ローカルリポジトリの変更を元に戻す

Gitコミット履歴からのディレクトリの削除

これまでに、コミットされたファイルを削除する方法はすでに知っていますが、ディレクトリについてはどうでしょうか。 Gitコミットからディレクトリを削除することは、ファイルを削除することに似ています。

1.以下のコマンドを実行します。これらのコマンドは出力を提供しませんが、以下を実行します。

  • 名前の付いたフォルダを作成します myfolder ローカルリポジトリ内(〜/ Desktop / Repository / repo1)。
  • 内にl.txtという名前のファイルを作成します 〜/ Desktop / Repository / repo1 / myfolder フォルダ。
mkdir myfolder && touch myfolder/l.txt

2.次に、以下のgitコマンドを実行して、新しいフォルダーを追加します(〜/ Desktop / Repository / repo1 / myfolder)ローカルリポジトリに。

git add .
git commit -m "Adding folder"
新しいフォルダ(フォルダ)をローカルリポジトリに追加する
新しいフォルダ(フォルダ)をローカルリポジトリに追加する

3.次のgitrmコマンドを実行して、手順2でコミットしたフォルダー(myfolder)を削除します。

Git Commitで新しいフォルダー(フォルダー)を削除する
Git Commitで新しいフォルダー(フォルダー)を削除する

4.最後に、git statusコマンドを実行してリポジトリのステータスを確認し、フォルダが削除されているかどうかを確認します。

以下では、フォルダ全体(myfolder)が、内部のl.txtファイルとともに正常に削除されていることがわかります。

フォルダ(myfolder)が正常に削除されたことを確認する
フォルダの確認(myfolder)正常に削除されました

結論

このチュートリアルでは、特定のコミット、1つのファイル、または複数のファイルの削除など、Gitコミットの操作方法を学習しました。 また、ローカルリポジトリ内のフォルダ全体を削除し、変更をコミットすることにも触れました。

この時点で、リポジトリに変更を自信を持ってコミットし、物事を台無しにすることなく、不要と思われるコミットを削除できます。

このチュートリアルで学んだことを踏まえて、チームのコミットを処理するのに優れていると思われる方法はどれですか。

The post Gitで1日を節約し、コミット履歴から削除する appeared first on Gamingsym Japan.