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

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 "" // 再次提交到仓库</file>

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

git rm --cached <file></file>

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

git checkout -- <file></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</file>

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 までご連絡ください。
Git vs. Github:彼らの役割を探るGit vs. Github:彼らの役割を探るApr 16, 2025 am 12:06 AM

GitとGithubは異なるツールです。Gitは、コードバージョンと共同開発を管理するための分散バージョン制御システムです。 GitHubは、Gitに基づいたオンラインプラットフォームであり、コードホスティングおよびコラボレーションツールを提供しています。 GITの主な機能には、バージョン管理、支店管理、コラボレーション開発が含まれ、GitHubはコードホスティング、コラボレーションツール、ソーシャルネットワーキング機能を提供します。

Github:オープンソースとソフトウェア開発のハブGithub:オープンソースとソフトウェア開発のハブApr 15, 2025 am 12:10 AM

GitHubは、バージョン制御、共同開発、コミュニティコミュニケーション機能を提供するGitベースのバージョン制御システムホスティングプラットフォームです。 GitHubを使用すると、開発効率とコードの品質が向上する可能性があります。

Git and Github:関係は何ですか?Git and Github:関係は何ですか?Apr 14, 2025 am 12:10 AM

GitとGithubは異なるツールです。Gitはバージョン制御用のソフトウェアであり、GithubはGitに基づくオンラインプラットフォームです。 1.GITを使用すると、ファイルの変更と共同開発を追跡できます。 2。Githubは、チーム開発効率を高めるためのコードホスティングおよびコラボレーションツールを提供します。

Github:開発者とプロジェクトのためのプラットフォームGithub:開発者とプロジェクトのためのプラットフォームApr 13, 2025 am 12:01 AM

GitHubのコア機能には、バージョン制御、支店管理、コードレビュー、問題追跡、プロジェクト管理が含まれます。 1。バージョン制御とブランチ管理はGITに基づいており、コードの変更と実験開発の追跡を可能にします。 2。コードレビューは、PullRequestを通じて実装され、コードの品質とチームコラボレーションを改善します。 3.問題の追跡とプロジェクト管理は、プロジェクトの透明性とトレーサビリティを改善するために、問題とプロジェクト管理委員会を通じて実行されます。

github in Action:例とユースケースgithub in Action:例とユースケースApr 12, 2025 am 12:16 AM

GitHubは、ソフトウェア開発の効率と品質を向上させるための強力なツールです。 1)バージョン制御:GITを介してコードの変更を管理します。 2)PullRequests:コードレビューを実施し、コードの品質を改善します。 3)問題:バグとプロジェクトの進捗を追跡します。 4)githubactions:建設、テスト、展開プロセスを自動化します。

Git vs. Github:バージョンコントロールとコードホスティングGit vs. Github:バージョンコントロールとコードホスティングApr 11, 2025 am 11:33 AM

Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITは、コードバージョンを管理し、ローカル操作をサポートするために使用されます。 GitHubは、問題の追跡やPullRequestなどのオンラインコラボレーションツールを提供しています。

簡単な言葉でGitとは何ですか?簡単な言葉でGitとは何ですか?Apr 09, 2025 am 12:12 AM

GITは、開発者がファイルの変更を追跡し、協力してコードバージョンを管理するのに役立つオープンソース分散バージョン制御システムです。そのコア関数には、1)レコードコードの変更、2)以前のバージョンへのフォールバック、3)共同開発、4)並列開発のためのブランチの作成と管理。

gitはgithubと同じですか?gitはgithubと同じですか?Apr 08, 2025 am 12:13 AM

gitとgithubは同じものではありません。 Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITはコードバージョンの管理に使用され、GitHubはオンラインコラボレーション環境を提供します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

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