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.txt と test2.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コミットのステータスを確認します。
コマンドを実行すると、以下に示すように、コミットが追跡されておらず、まだコミットされていないことがわかります。
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
8.最後に、以下のgit statusコマンドを再実行して、リポジトリのステータスを確認します。
以下に示すように、ファイルはステージング領域から削除され(Gitコミット)、追跡されていないファイルの下にファイル(test_file2.txt)が表示されます。
最近コミットされたファイルをすべて削除する
Gitコミットから特定のファイルを削除する方法を学びました。 ただし、通常は複数のファイルを削除する必要があり、Gitは gitリセット 指図。 git resetコマンドは複雑ですが、同時に、リポジトリ内の変更を元に戻すための用途の広いツールです。
git resetがどのように機能するかを確認するには、いくつかのファイルをコミットしてから、変更をリセットして、Gitcommitに保存されている最近コミットされたファイルを削除します。
1.という名前の2つの新しいテキストファイルを作成します test_file3.txt と test_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.次に、以下のコマンドを実行して、ローカルリポジトリのステータスを確認します。
以下に示すように、出力にはコミットするものがないというメッセージが表示され、すべてがリポジトリに配置されていることが示されます。
5.次に、以下のgit resetコマンドを実行して、ステップ3で最近行われたコミットを元に戻します。 このコマンドは出力を提供しませんが、ファイルを削除します test_file3.txt と test_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)を削除します。
4.最後に、git statusコマンドを実行してリポジトリのステータスを確認し、フォルダが削除されているかどうかを確認します。
以下では、フォルダ全体(myfolder)が、内部のl.txtファイルとともに正常に削除されていることがわかります。
結論
このチュートリアルでは、特定のコミット、1つのファイル、または複数のファイルの削除など、Gitコミットの操作方法を学習しました。 また、ローカルリポジトリ内のフォルダ全体を削除し、変更をコミットすることにも触れました。
この時点で、リポジトリに変更を自信を持ってコミットし、物事を台無しにすることなく、不要と思われるコミットを削除できます。
このチュートリアルで学んだことを踏まえて、チームのコミットを処理するのに優れていると思われる方法はどれですか。
The post Gitで1日を節約し、コミット履歴から削除する appeared first on Gamingsym Japan.