git は指定されたコミット情報を変更します

WBOY
リリース: 2023-05-20 09:36:07
オリジナル
11327 人が閲覧しました

Git をバージョン管理に使用するプロセスでは、提出された提出情報を変更する必要がある状況に必ず遭遇します。これは、提出時に間違った情報を書いたか、提出されたコードに追加の説明を追加する必要があるなどの可能性があります。

次に、gitを使って指定したコミット情報を変更する方法と注意点を詳しく紹介します。

1. git commit --amend を使用して、指定された送信を変更します

送信時に一部のファイルが見つからない場合、または送信されたファイルを変更する必要がある場合は、 git commit --amend コマンドを使用できます。指定したコミット情報を変更します。

具体的な手順は次のとおりです。

  1. git log コマンドを実行して、変更する必要があるコミット レコード ID を見つけます。
  2. git rebase -i HEAD~n (n は変更が必要なコミットの数) コマンドを実行して対話モードに入ります。
  3. i キーを押して編集モードに入ります。
  4. 編集、保存、終了するには、変更する必要がある送信レコード ID の選択を変更します。
  5. git replace HEAD^ コマンドを実行して、以前の送信にロールバックします。
  6. ファイルの変更や追加などの操作を実行します。
  7. git add コマンドを実行して、変更したファイルを一時記憶領域に追加します。
  8. git commit --amend コマンドを実行して、送信情報を変更します。
  9. git rebase -- continue コマンドを実行して、送信情報の変更を完了します。

2. git filter-branch を使用して、指定された送信を変更します

大量の送信情報を調整する必要がある場合、または実行される操作がより複雑な場合は、次のように使用できます。 git filter-branch コマンドを使用して、指定された送信送信情報を変更します。

具体的な手順は次のとおりです。

  1. git log コマンドを実行して、変更する必要があるコミット レコード ID を見つけます。
  2. git filter-branch --tree-filter コマンドを実行し、その後に実行する操作を次のように追加します。
git filter-branch --tree-filter 'rm -f file.txt' HEAD
ログイン後にコピー

これは、ファイル file.txt を削除することを意味します。 。送信情報を変更する必要がある場合は、次のコマンドを実行できます。

git filter-branch --msg-filter 'sed "s/old_text/new_text/g"' HEAD
ログイン後にコピー
  1. git Push --force コマンドを実行して、変更された情報をリモート ブランチにプッシュします。

3. 注意事項

  1. 送信情報を変更すると、送信の SHA-1 コード値が変更され、リポジトリで参照されているブランチが表示される可能性があります。 。 質問。
  2. ローカル ブランチをリモート ブランチにプッシュした場合は、 git Push --force コマンドを使用して、変更された送信情報を強制的にプッシュする必要があります。これにより、他のコラボレーターのリポジトリに影響を与える可能性があります。
  3. 不要なエラーを防ぐために、送信情報を変更する前にバックアップを作成することをお勧めします。
  4. git filter-branch コマンドを使用して変更を行う場合は注意してください。運用が標準化されていない場合、他の提出情報に影響を与える可能性があります。

つまり、提出情報の変更は比較的複雑な操作であり、不要な問題を避けるためにデータのセキュリティを確保しながら慎重に行う必要があります。

以上がgit は指定されたコミット情報を変更しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート