` git commit `コマンドはリポジトリで行われた変更を確認するために使用され、gitはコミットされた各タスクの履歴を保持します。リポジトリを公開する前または後に、ユーザーがコミットされたメッセージを変更する必要がある場合があります。ユーザーは、リポジトリの古いコミットまたは新しいコミットを変更するためにgit履歴を書き換える必要があります。 NS -改める オプションは `と一緒に使用されます git commit `git履歴を書き換えるコマンド。このチュートリアルでは、このオプションをローカルおよびリモートのgitリポジトリに適用して、gitcommitまたはgitcommitメッセージを変更する方法について説明します。
前提条件:
GitHubデスクトップをインストールします。
GitHubデスクトップは、gitユーザーがgit関連のタスクをグラフィカルに実行するのに役立ちます。 Ubuntu用のこのアプリケーションの最新のインストーラーはgithub.comから簡単にダウンロードできます。このアプリケーションを使用するには、ダウンロード後にこのアプリケーションをインストールして構成する必要があります。 UbuntuにGitHubデスクトップをインストールするためのチュートリアルをチェックして、インストールプロセスを正しく知ることもできます。
GitHubアカウントを作成します
リモートサーバーでコマンドの出力を確認するには、GitHubアカウントを作成する必要があります。
ローカルおよびリモートリポジトリを作成する
このチュートリアルで使用するコマンドをテストするには、ローカルリポジトリを作成し、リモートサーバーでリポジトリを公開する必要があります。ローカルリポジトリフォルダに移動して、このチュートリアルで使用されているコマンドを確認します。
最後のコミットを変更します。
最後のコミットに変更を適用する前に、ローカルリポジトリの現在のステータスを確認し、いくつかのコミットタスクを実行する必要があります。名前の付いたローカルリポジトリ 書店 このチュートリアルで使用されるコマンドをテストするために使用されています。リポジトリの場所から次のコマンドを実行して、リポジトリの現在のコミットステータスを確認します。
$git commit
次の出力は、名前が付けられた2つの追跡されていないファイルがあることを示しています booklist.php と booktype.php。
次のコマンドを実行して、コミットメッセージとともにリポジトリに2つのファイルを追加し、コミット後のリポジトリのステータスを確認します。
$git addbooklist.php$git commit -NS 「ブックリストファイルが追加されました。」
$git addbooktype.php
$git commit -NS 「booktypeファイルが追加されました。」
$git commit
次の出力は、 booklist.php と booktype.php ファイルはコミットメッセージとともに追加されます。次に、commitコマンドの出力が、作業ツリーがクリーンであることを示している場合。
エディターを使用するか、端末のコマンドを実行することにより、最後のコミットメッセージを変更できます。次の `を実行します git commit `コマンドと -改める テキストエディタを使用して最後のコミットメッセージを変更するオプション。
$git commit - 改める上記のコマンドを実行して最後のコミットメッセージを変更すると、次のエディタが開きます。
次のコマンドを実行して、端末からの最後のコミットメッセージを変更します。
$git commit - 改める -NS 「booktypeファイルが再び変更されました。」出力は、最後のコミットメッセージがに変更されたことを示しています ブックタイプファイルが再び変更されました。
古いコミットを変更します。
古いコミットまたは複数のコミットは、 `gitrebase`および` git commit –amend`コマンドを使用して変更できます。 rebaseコマンドは、コミット履歴を書き換えるために使用されますが、リモートサーバーですでに公開されているコミットに使用することはお勧めしません。 rebaseコマンドは、複数のgitコミットを変更するためにコミット数とともに使用されます。次のコマンドを実行して、最後の2つのコミットメッセージを変更します。コマンドの実行後、エディターが開き、最後の2つのコミットメッセージが表示されます。
$git rebase -私HEAD〜2次の出力は、コミットSHA値を持つリポジトリの最後の2つのコミットメッセージを示しています。
書く 言い換える 代わりに 選ぶ 変更したいコミットメッセージのそれらの行。次の画像では、変更は1つのコミットに対してのみ行われています。このコミットメッセージは、現在のファイルを保存した後、別のエディターで編集するために開かれます。
コミットメッセージは、エディターから変更できるようになりました。ここで、メッセージ、 ブックリストファイルが追加されました 。に変更されました ブックリストファイルが変更されました。
rebaseコマンドを再度実行すると、次の画像のように、変更されたコミットメッセージがエディターに表示されます。
最後のコミットに変更を追加します。
と仮定します booklist.php リポジトリにコミットした後、ファイルが変更されました。ここで、次のコマンドを実行してファイルを再度追加し、 `を使用してこの追加のコミットメッセージを変更します。 git commit `コマンドと -改める オプション。
$git addbooklist.php$git commit - 改める -NS 「ブックリストファイルが更新されました。」
上記のコマンドを実行すると、次の出力が表示されます。
ファイルを再度追加した後で前のコミットメッセージを変更したくない場合は、–no-editオプションを使用する必要があります。 -改める `付きのオプション git commit `コマンド。次のコマンドは、コミットメッセージを変更せずに、変更されたファイルをリポジトリに追加します。
$git commit - 改める -編集なしローカルリポジトリですべての変更が完了したら、ターミナルからpushコマンドを実行するか、GitHubデスクトップアプリケーションでリポジトリを開くことで、ローカルコンテンツをリモートサーバーにプッシュできます。 GitHubデスクトップでリポジトリを開き、[リポジトリの公開]オプションをクリックするとします。その場合、次のダイアログボックスが表示され、ローカルリポジトリの変更されたコンテンツがリモートサーバーに公開されます。
結論:
このチュートリアルでは、デモリポジトリを使用して、1つ以上のgitコミットを変更するための–amendオプションの使用について説明しました。コミットメッセージを変更するかどうかに関係なくコミットを変更する方法をここに示します。これは、gitユーザーが–amendオプションを使用する目的を理解し、それをgitリポジトリに適用してコミットを変更するのに役立ちます。