この記事では、Gitロールバック コードに関する関連知識を提供します。Git は、非常に小さなファイルから非常に大きなファイルまで、効率的かつ高速に処理できるオープン ソースの分散バージョン管理システムです。プロジェクト バージョン管理、I皆さんのお役に立てば幸いです。
毎日のコーディング プロセスでは、ブランチ間のマージ、ロールバック、送信、タグ付けなどの操作が避けられません。コードをロールバックするか、間違いを犯すことを常に心配し、コードを失うかどうか確信が持てません。これは非常に危険です。結局のところ、コードを失うことは大きな問題です。コードが小さければ、パフォーマンスが減点されますが、コードが失われると、パフォーマンスが低下します。深刻な問題です。多くの減点が発生します。しかし、心配しないでください。この記事を読めたあなたは幸運です。読み終えた後は、コードが失われることはなくなります。一般的なものをシミュレートするためのブランチを構築する手順を段階的に説明します。ロールバックの状況
Git ( /gɪt/ と発音) は、非常に小さなプロジェクトから非常に大規模なプロジェクトまで、効率的かつ高速にバージョン管理を処理できるオープンソースの分散バージョン管理システムです。 。
毎日のコードのロールバックでは、ロールバックするために git revert
と git replace
という 2 つの一般的に使用される方法があります。これら 2 つのコマンドがさまざまな状況ごとに何ができるかを簡単かつ明確に紹介します。次に、個人ウェアハウスから 0 から新しいブランチを取得し、メイン ブランチ master
とdevelopment という 2 つのブランチを構築します。 #develop
をシミュレートするブランチ
reset Introduction1、
reset
は、
を完全に送信する場合に使用します。 2 を使用して履歴レコードから削除されました。たとえば、
master
ブランチで A-->B-->C## を送信した場合、#3 つのレコードが削除されました。この時点でレコード C に問題があり、B にロールバックしたい場合は、
git replace
3 を使用できます。このコマンドが使用される可能性が最も高くなります。メイン ブランチ。通常、オンライン ブランチは
master ブランチであり、その後
develop
4 から機能開発を実行します。開発が完了したら、ブランチをマージします。
master、オンラインにする前にマージされたブランチに問題が見つかった場合は、
develop
5 からマージされたブランチをロールバックできます。率直に言うと、キャンセル
develop
6. ただし、共同開発中に全員が
master にマージされると、
reset を使用してロールバックを強制する
commit これにより、他のユーザーの提出レコードがフラッシュされるため、
revert
ブランチ シミュレーション環境を作成する
1. 独自の git リポジトリから新しいプロジェクトを作成し、ローカルにプルします2. Index.js を作成し、適当に何か書いて送信しますリポジトリへのコピー3.
git log
4.
master ブランチから
develop ブランチを移動し、
git checkout Development# ブランチに切り替えます。
##5.
ブランチにコードを追加します。このとき、develop のコミット レコードに B という新しいレコードが追加されます。
## 6. コードを開発ブランチに追加します。
# 7. 開発ブランチとマスター ブランチの最新のコミット レコードを比較します。 dev ブランチが master ブランチの 2 つ前にあることがわかります。 commitここには問題があることに注意してください。コードは異なっているにもかかわらず、ブランチをマージするときに、現在の開発ブランチのコミット レコードがマージ対象のブランチよりも遅れているため、コードが更新されていないことを示すプロンプトが表示されることがあります。この理由は、リセットなので注意して使用する必要があります
リセットを操作して実感してください
1. develop
ブランチのコードを master
にマージし、実行のために master
ブランチに切り替えます。
2. master ブランチで
を使用してコミット レコードをチェックし、B レコードを見つけ、これをロールバックする準備をします。すべてのコミットを入力するには、通常は最初の 7 桁で十分です
3. ここが重要なポイントです。ロールバックするには
git replace 69fde2c を使用します。このとき、ログレコードを確認すると、最後の が c
に追加されていることがわかります。レコードは消えています。ここにはまだ問題があります。git Push
を直接使用してプッシュすると、 、次のプロンプトが表示されます。
git Push \-fPerform が必要です強制送信
4. 現時点では、master ブランチには A と B のコミット レコードのみがあります。これは完全なリセットおよびロールバック レコードです。その後、開発ブランチの開発を続けることができます。
#リバートの概要
1. リバートの原則は、現在の送信の後に新しい送信を追加して、引き起こされた結果を相殺することです。前回の提出によるすべての変更。過去の履歴は変更されないため、コードを失うリスクがないため、推奨される方法です。2.「元に戻す」は、以前の送信をオフセットできるため、複数の送信をオフセットしたい場合は、## を実行する必要があります。 #git revert from the Bottom コミット ID、最後から 2 番目の commit3、これはコミットを送信し、送信に問題がある可能性があることが判明した場合によく使用されます。revert# を使用できます。 ##4, 多くの人がすでにコードを送信している状況もありますが、後続のコミットに影響を与えずに特定の以前のコミット レコードを変更したい場合は、revert を使用することもできます。送信したすべてのレコードが配置されます。後でワークスペースに追加します。これはマージする場合にのみ必要です。1 つのことに注意してください。
環境をシミュレートしましょう
1. 開発ブランチに移動します。今度はブランチです。には 3 つのコミット レコードがあります2。ロールバックするには rever を使用してみましょう
git revert 16083ce。vs code も使用している場合は、ワークスペースで変更を確認して送信できます。コンソールのデフォルトのコミット
3. ログ レコードを確認すると、新しいレコードが追加されていることがわかります (
)。元の New C
はまだ存在しますコミット レコードのタグ付け
1. オンラインにする前に、オンライン コードに問題があった場合にロールバックできるように、現在のコミット レコードを保存します
よく使用されるコマンドをいくつか紹介しましょう1 .
git tagすべてのタグ リストのリスト
2. タグを作成し、
を使用して、 new git tag test 4
, usegit tag Check it
3. タグ # に対応するコミット情報を確認します。 ##git show [タグ名]
git show test 1、オンラインにした後に問題が発生した場合は、下の図のコミット ID に従ってコードをロールバックできます
End
推奨学習: 「
Git チュートリアル以上がgit ロールバック コードを理解する (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。