プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

Git Pullを元に戻す:ガイド

git pullコマンドを使用すると、プロジェクトに加えられた変更をリモートリポジトリから取得し、それらの変更をローカルマシンにダウンロードできます。この操作は、gitresetコマンドを使用して元に戻すことができます。 resetコマンドは、リポジトリを履歴内の前のポイントに戻します。

このガイドでは、gitresetコマンドを使用してgitpull操作を元に戻す方法について説明します。このコマンドの使用方法を学ぶのに役立つ例を紹介します。

Git Pull:内訳

git pullコマンドは、ローカルリポジトリをリモートのリポジトリで最新の状態にします。

git pullコマンドを実行すると、Gitはgit fetchコマンドを実行して、リモートリポジトリに変更が加えられているかどうかを確認します。次に、変更が加えられている場合、fetchコマンドはそれらの変更のメタデータを取得します。

次に、gitpullコマンドはgitmergeを実行します。このプロセスは、gitfetchコマンドによって検出された変更をローカルマシンにマージします。これは、git pullを実行すると、リポジトリのローカルバージョンがリモートリポジトリに一致するように変更されることを意味します。

Gitプルを元に戻す

gitpullコマンドを明示的に元に戻すコマンドはありません。別の方法は、リポジトリを前のコミットに戻すgitresetを使用することです。

ck-gitというプロジェクトに取り組んでいます。共同編集者が、GitHubに保存されているプロジェクトのリモートバージョンにコミットをプッシュしました。これらの変更を取得したいと思います。

これらの変更を取得するには、gitpullコマンドを使用します。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

git pull

このコマンドは、メタデータをプルし、リモートリポジトリからローカルマシンに変更をダウンロードしたことを通知するメッセージを返します。

remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/career-karma-tutorials/ck-git
   77e7fc0..a8336fa  master 	-> origin/master
Updating 77e7fc0..a8336fa
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

マスターブランチで変更された唯一のファイルはREADME.mdです。このファイルには、前のコミットには存在しなかった1行のテキストが追加されています。

ここで、この操作を元に戻したいとしましょう。この変更をローカルリポジトリに受け入れる準備はできていません。操作を元に戻すには、gitresetを実行する必要があります。

git resetコマンドを実行する前に、このコマンドがリポジトリに加えたコミットされていない変更を削除することを知っておく必要があります。 resetコマンドを実行する前に、保存する変更がコミットされていることを確認してください。

git resetコマンドを実行して、Gitでの最後のコミット時にリポジトリの前の状態に戻りましょう:

git reset 77e7fc0 --hard

このコマンドは、リポジトリを最後のコミット時の状態に戻します。

Unstaged changes after reset:
M    README.md

–hardフラグは、特定のコミット時にコードの内容で作業ディレクトリを変更することをGitに通知します。

または、HEADステートメントを使用して、元に戻すコミットを指定することもできます。

git reset HEAD~1 --hard

このステートメントは、リポジトリを1つのコミットに戻します。番号1を変更して、さらにコミットに戻ることができます。

これで、README.mdファイルは最後のコミット時の状態になります。コミットされていないgitpullコマンドを実行する前にファイルに変更を加えた場合、それらの変更にはアクセスできなくなります。これは、gitがコミットされた変更のみを保存するためです。

結論

git resetコマンドを使用して、gitpull操作を元に戻すことができます。 git resetコマンドは、リポジトリを履歴の特定のポイントにリセットします。コミットしなかったgitpullを実行する前にファイルに変更を加えた場合、それらの変更は失われます。

git resetコマンドを実行する前に、変更をコミットしたことを確認してください。 git resetコマンドを使用すると、コミットされていない変更が失われます。

これで、プロのようにgit pullコマンドを元に戻すために必要な知識が得られました!


  1. Gitの初心者向けガイド

    Linuxユーザーの場合、おそらく新しいプログラムをダウンロードしようとしたり、CVSやSubversionなどのバージョン管理システムを調べたりしているときにGitに出くわしたことがあるでしょう。 Gitは、既存のソリューションに満足できないため、Linuxカーネルの有名なLinusTorvaldsによって作成されたリビジョン管理システムです。設計の主な重点は、速度、より具体的には効率にありました。 Gitは、以前のシステムの多くの欠点に対処し、すべてをはるかに短い時間で実行します。 Gitの学習を検討している場合は、この初心者向けガイドが開始に役立ちます。 Gitの機能 顧客向けのWeb

  2. 修正:「git」が内部コマンドまたは外部コマンドとして認識されない

    何人かのユーザーが「git」が内部コマンドまたは外部コマンドとして認識されない」と報告しています コマンドプロンプトでgitコマンドを実行しようとするとエラーが発生します。一部のユーザーは、Git for Windowsをインストールした後にこの問題が発生したと報告しましたが、他のユーザーは、Gitのインストールが完了するとすぐにこの問題に直面します。 「git」の原因は内部または外部のコマンドエラーとして認識されません さまざまなユーザーレポートを見て、この特定の問題を調査しました。調査に基づいて、このエラーが発生する理由はいくつかあります。 Git PATHが変数に設定されてい