ホームページ 開発ツール Git gitでコミットをキャンセルする方法

gitでコミットをキャンセルする方法

Nov 29, 2021 pm 03:15 PM
git

git でコミットをキャンセルする方法: 1. "git rm" コマンドを使用して元に戻します; 2. "git replace" コマンドを使用して元に戻します; 3. "git rebase" コマンドを使用して元に戻します; 4 「git revert」コマンドを使用して元に戻します。

gitでコミットをキャンセルする方法

このチュートリアルの動作環境: Windows 7 システム、Git バージョン 2.30.0、Dell G3 コンピューター。

間違ったコードを送信し、特定のコミット レコードを取り消す必要がある場合があります。いくつかの方法があります:

1. ファイルを削除します

削除する必要があるコミットが 1 つ以上のファイルである場合は、次の操作を実行できます。

1. ウェアハウスに送信されたファイルを削除する必要がある場合は、git rm コマンドを使用できます:

git rm <file> // 从工作区和暂存区删除某个文件
git commit -m "" // 再次提交到仓库

2.ファイルを一時記憶領域から削除します。ローカル ワークスペースに変更を加えない場合は、次のことができます:

git rm --cached <file>

3. ワークスペース内のファイルを誤って削除した場合は、git checkout## を使用できます。 # 一時記憶領域のファイルを上書きします。誤って削除されたファイルを回復する領域のファイル:

git checkout -- <file>
4. ファイルを削除するには、

git rm を使用します。削除操作も同様に行われます。ファイルを削除すると、ローカルの物理ファイルのみが削除され、git レコードからは削除されません。

5、

git addgit rm

には同様の機能があります。

ただし、git add は追加のみを記録できます。変更します。アクションと削除アクションは git rm

によって完了する必要があります。

2. GitHub はコミットを取り消します

ファイルだけでなくインターリーブされたコードも削除する必要がある場合は、次の方法があります。コミットを削除するには 3 つの方法があります。 1. gitリセット

gitリセット: 特定のコミットまでロールバックします。

  • git replace --soft: この送信後の変更はステージング領域に返されます。
  • git restart --hard: この送信後、変更は保持されません。 git status
  • ワークスペースを表示しても記録がありません。
  • 1) ロールバック コード削除する必要があるコミットが最新の場合は、
  • git restart## を使用してコードを以前のコミットにロールバックできます。 # コマンドのステータスを確認しますが、必ず既存のコードをバックアップしてください。そうしないと、これらの変更はロールバック後に消えてしまいます。具体的な操作は次のとおりです。
git log // 查询要回滚的 commit_id
git reset --hard commit_id // HEAD 就会指向此次的提交记录
git push origin HEAD --force // 强制推送到远端

2) 誤って削除した場合の回復

コードをロールバックした後に間違った commit_id をコピーした場合、または誤ってコミット レコードを削除した場合は、次のことができます。また、次のコードを使用して復元します。<pre class="brush:php;toolbar:false">git relog // 复制要恢复操作的前面的 hash 值 git reset --hard hash // 将 hash 换成要恢复的历史记录的 hash 值</pre>

注: 途中で特定のコミットを削除する場合、リモート ライブラリをロールバックするために

git replace

を使用しないことをお勧めします。後で他の人がコードを送信するときに

git pull

を使用することになります。また、ローカル ウェアハウスを以前のバージョンにロールバックするため、エラーが発生しやすく、不必要なワークロードが増加します。
  1. 2. git rebase

git rebase: 2 つのブランチが同じ行にない場合、マージ操作を実行する必要があります このコマンドを使用します。

    1) コミットを元に戻す
  • 途中の特定のコミットを削除する必要がある場合は、git rebase
  • コマンドを使用できます。方法は次のとおりです。以下:
git log // 查找要删除的前一次提交的 commit_id
git rebase -i commit_id // 将 commit_id 替换成复制的值
进入 Vim 编辑模式,将要删除的 commit 前面的 `pick` 改成 `drop`
保存并退出 Vim

これで完了です。

2) 競合を解決するこのコマンドを実行するとリベースの競合が発生する可能性が高く、次の方法で解決できます:

git diff // 查看冲突内容
// 手动解决冲突(冲突位置已在文件中标明)
git add <file> 或 git add -A // 添加
git rebase --continue // 继续 rebase
// 若还在 rebase 状态,则重复 2、3、4,直至 rebase 完成出现 applying 字样
git push

3、git revert

git revert: コミットを破棄します。

git revert
    以前の送信は git ログに残り、この取り消しは新しい送信として扱われます。
  • git revert -m
    : マージ ノードの操作に使用されます。-m は特定の送信ポイントを指定します。
  • 1) コミットを取り消す
  • コミットを途中で取り消したい場合は、git revert
  • を使用することも良い選択です:
git log // 查找需要撤销的 commit_id
git revert commit_id  // 撤销这次提交

2) マージ ノードの送信を元に戻します。

この送信がマージ ノードの場合は、-m コマンドを追加する必要があります:

git revert commit_id -m 1 // 第一个提交点
// 手动解决冲突
git add -A
git commit -m ""
git revert commit_id -m 2 // 第二个提交点
// 重复 2,3,4
git push

推奨学習: "

Git チュートリアル

>>

以上がgitでコミットをキャンセルする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP環境で環境変数を設定する方法PHPランニング環境変数の追加の説明 PHP環境で環境変数を設定する方法PHPランニング環境変数の追加の説明 Jul 25, 2025 pm 08:33 PM

PHPに環境変数を設定する3つの主な方法があります。1。Php.iniを介したグローバル構成。 2。Webサーバー(apacheのsetenvやnginxのfastcgi_paramなど)を通過しました。 3。Phpスクリプトでcutenv()関数を使用します。その中でも、PHP.iniはグローバルおよび頻繁に変更された構成に適しており、Webサーバーの構成は分離する必要があるシナリオに適しており、Putenv()は一時的な変数に適しています。永続性ポリシーには、構成ファイル(PHP.INIまたはWebサーバーの構成など)、.ENVファイルにはDoTENVライブラリがロードされ、CI/CDプロセスの変数の動的注入が含まれます。セキュリティ管理に敏感な情報は、ハードコーディングを避ける必要があり、使用することをお勧めします。

NGINXとPHPサービスの組み合わせを構成するためにMACOSを使用してPHP Nginx環境を構築する方法 NGINXとPHPサービスの組み合わせを構成するためにMACOSを使用してPHP Nginx環境を構築する方法 Jul 25, 2025 pm 08:24 PM

MAC環境の構築におけるHomebrewの中心的な役割は、ソフトウェアのインストールと管理を簡素化することです。 1. Homebrewは、依存関係を自動的に処理し、複雑な編集プロセスとインストールプロセスを簡単なコマンドにカプセル化します。 2。ソフトウェアのインストールの場所と構成の標準化を確保するために、統一されたソフトウェアパッケージエコシステムを提供します。 3.サービス管理機能を統合し、BrewServicesを介してサービスを簡単に開始および停止できます。 4.便利なソフトウェアのアップグレードとメンテナンス、およびシステムのセキュリティと機能を改善します。

Solana Summer:開発者イベント、ミームコイン、次の波 Solana Summer:開発者イベント、ミームコイン、次の波 Jul 25, 2025 am 07:54 AM

Solanaの強い回復:開発者とMeme Coin Carnival Driveの急増は続くことができますか? Trends Solanaがカムバックしているトレンドの詳細な解釈!沈黙の期間の後、パブリックチェーンが再び若返り、コインの価格は上昇し続け、開発コミュニティはますます活発になりつつあります。しかし、このリバウンドの真の原動力はどこにありますか?それは鍋の中のただのフラッシュですか? Solanaの現在のコアトレンドを掘り下げましょう。開発者のエコロジー、ミームコインの狂信、および全体的な生態学的拡大を掘り下げましょう。コイン価格の急増の背後:実際の開発活動が最近回復しました、Sol Priceは6月以来初めて200ドル以上に戻り、市場での激しい議論を引き起こしました。これは根拠がありません - Santimentデータによると、その開発者は過去2か月で新しい最高に達しました。これ

役に立たないコインとは何ですか?役に立たない通貨の使用、未解決の機能、将来の成長の可能性の概要 役に立たないコインとは何ですか?役に立たない通貨の使用、未解決の機能、将来の成長の可能性の概要 Jul 24, 2025 pm 11:54 PM

カタログの重要なポイントは何ですか?役に立たないコイン:役に立たない役に立たない主な機能の概要と主要な機能(役に立たない)将来の価格の見通し:2025年以降の役に立たないコインの価格にどのような影響を与えますか?将来の価格の見通しコア機能と役割のないコインの重要性(役に立たない)の役割(役に立たない)の仕組みと、役に立たないコインがどのように機能するかは、役に立たないコインの企業のパートナーシップについての大きな利点がどのように機能するか

PHPコンテナを自動構造をサポートする方法は? PHP環境の継続的に統合されたCI構成方法 PHPコンテナを自動構造をサポートする方法は? PHP環境の継続的に統合されたCI構成方法 Jul 25, 2025 pm 08:54 PM

PHPコンテナが自動構造をサポートできるようにするために、コアは連続統合(CI)プロセスの構成にあります。 1. DockerFileを使用して、基本的な画像、拡張インストール、依存関係管理、許可設定など、PHP環境を定義します。 2. GitlabciなどのCI/CDツールを構成し、.gitlab-ci.ymlファイルを介してビルド、テスト、展開段階を定義して、自動構造、テスト、展開を実現します。 3. phpunitなどのテストフレームワークを統合して、コードの変更後にテストが自動的に実行されることを確認します。 4. Kubernetesなどの自動展開戦略を使用して、deployment.yamlファイルを介して展開構成を定義します。 5. DockerFileを最適化し、マルチステージ構造を採用します

Kubernetesを使用してPHP環境を一貫した生産とローカルコンテナ構成標準に保つ方法 Kubernetesを使用してPHP環境を一貫した生産とローカルコンテナ構成標準に保つ方法 Jul 25, 2025 pm 06:21 PM

PHP環境と生産の間の矛盾の問題を解決するために、コアはKubernetesのコンテナ化とオーケストレーション機能を使用して環境の一貫性を実現することです。特定の手順は次のとおりです。1。すべてのPHPバージョン、拡張機能、依存関係、Webサーバー構成を含む統一されたDockerイメージを構築して、開発と生産で同じ画像が使用されるようにします。 2. KubernetesのconfigMapとSecretを使用して、非感受性および敏感な構成を管理し、ボリュームマウントまたは環境可変噴射を介したさまざまな環境構成の柔軟な切り替えを実現します。 3.統一されたKubernetes展開定義ファイル(展開やサービスなど)を介してアプリケーションの動作の一貫性を確保し、バージョンコントロールに含める。 4。

Git Reflogで削除されたブランチを回復する方法 Git Reflogで削除されたブランチを回復する方法 Jul 25, 2025 am 12:46 AM

rungitreflog - date = localtoviewrecentreceferenceChangESANDLOCATEDELETEDBYITSNAMEORCOMMITHASH.2.IDEDIFYTHECOMMITHASHJUSTBETEBETHE "deletedBranch" message inthereflogoutput.3.3.RecreatetheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTherは

5,000元を使用して、通貨サークルで500,000元を獲得する方法は? 5,000元を使用して、通貨サークルで500,000元を獲得する方法は? Aug 07, 2025 pm 08:42 PM

デジタル通貨の分野では、さまざまな変数と機会が5,000から500,000のプリンシパルを増やすことで、資産増加の100倍を達成する必要があることを意味します。これは単純な数学ゲームではなく、認知、戦略、メンタリティ、実行を含む包括的なテストです。参加者は、運だけに頼らず、鋭い市場洞察と並外れたリスク管理能力を持つことも必要です。

See all articles