Git使用チュートリアル(3)
4494 ワード
この内容は廖雪峰の公式Gitチュートリアルに基づいて作成され、操作を記録して知識を強固にするために使用されています.
本文は主に以下のいくつかの方面からGitの使用について紹介する.取付Git バージョンライブラリ を作成タイムシャトル このセクションでは、タイムシャトルの内容について引き続き説明し、そのバージョンのロールバックについて説明します.
タイムシャトルのバージョンが戻る
これで、ファイルの変更をマスターし、Gitバージョンライブラリに変更をコミットしました.今、もう一度練習して、readme.txtファイルを変更します.
次にコミットを試みます.
上記の操作と同様に、ファイルを変更したり、提出したりします.合計3つのバージョンのreadme.txtファイルが入庫したことを振り返ると、次のようになります.
バージョン1:write a readme file
バージョン2:add distributed
バージョン3:append GPL
もちろん、実際の仕事の中で、私たちの頭の中で何千行のファイルが毎回どんな内容を変更したかを覚えているはずがありません.そうしないと、バージョン管理システムが何をしなければなりませんか.バージョン管理システムには、Gitで
出力情報が多すぎて目まぐるしく見える場合は、
88356.はcommit id(バージョン番号)です.バージョンクエリーについて説明します.次に、タイムシャトルのバージョンのロールバックを実現し、指定したバージョンに戻る方法について説明します.
add distributedのバージョンに戻るには、どうすればいいですか?まずバージョン番号の知識を理解しておきます.GItではHEADは現在のバージョン、つまり最新の提出88356…を表しています.前のバージョンは
現在のバージョン
readme.txtファイルを表示すると、前の変更バージョンにロールバックされていることがわかります.
これでwrite a readme fileバージョンに戻ることもできます.戻る前にgit logで現在のバージョンの状態を確認してみると、append GPLのバージョンはもうありません.
現在のバージョンHEADはadd distributedのバージョンですが、ロールバック前のappend GPLに戻りたい場合は、append GPLのバージョン番号を見つけるだけです.コマンドインタフェースが閉じていない場合は、バージョン番号8835644が表示されます.
書類を見ると、私は胡漢山がまた帰ってきたので、不思議ではありません.
コマンドラインのインタフェースが閉じられ、コンピュータも再起動された場合、Gitはどのように特定のバージョン番号を探していますか?
歴史コマンドから見ると、append GPLのバージョン番号は8835644なので、無事にタイムスリップして帰ることができました.
小結
まとめてみます. がシャトルする前に、 が将来に戻るには、
本文は主に以下のいくつかの方面からGitの使用について紹介する.
タイムシャトルのバージョンが戻る
これで、ファイルの変更をマスターし、Gitバージョンライブラリに変更をコミットしました.今、もう一度練習して、readme.txtファイルを変更します.
Git is a distributed version control system.
Git is free software distributed under the GPL.
次にコミットを試みます.
$ git add readme.txt
$ git commit -m "append GPL"
[master 8835644] append GPL
1 file changed, 1 insertion(+), 1 deletion(-)
上記の操作と同様に、ファイルを変更したり、提出したりします.合計3つのバージョンのreadme.txtファイルが入庫したことを振り返ると、次のようになります.
バージョン1:write a readme file
Git is a version control system.
Git is free software.
バージョン2:add distributed
Git is a distributed version control system.
Git is free software.
バージョン3:append GPL
Git is a distributed version control system.
Git is free software distributed under the GPL.
もちろん、実際の仕事の中で、私たちの頭の中で何千行のファイルが毎回どんな内容を変更したかを覚えているはずがありません.そうしないと、バージョン管理システムが何をしなければなりませんか.バージョン管理システムには、Gitで
git log
コマンドで表示される履歴を示すコマンドがあるに違いありません.$ git log
commit 883564497bc877acf839dd2589a2cf8c6988e6a4 (HEAD -> master)
Author: legendhua
Date: Wed May 8 16:05:41 2019 +0800
append GPL
commit 88d343da5f03503622ef58308374895dbeb11099
Author: legendhua
Date: Wed May 8 12:19:31 2019 +0800
add distributed
commit 31b5d90aaa558fbb8a95596aea0becaf69af76cc
Author: legendhua
Date: Wed May 8 10:07:54 2019 +0800
write a readme file
git log
コマンドは、最近から最も遠いコミットログを表示し、3回のコミットを見ることができます.最近のコミットはappend GPL
で、前回はadd distributed
で、最初のコミットはwrite a readme file
です.出力情報が多すぎて目まぐるしく見える場合は、
--pretty=oneline
パラメータを加えてみてください.$ git log --pretty=oneline
883564497bc877acf839dd2589a2cf8c6988e6a4 (HEAD -> master) append GPL
88d343da5f03503622ef58308374895dbeb11099 add distributed
31b5d90aaa558fbb8a95596aea0becaf69af76cc write a readme file
88356.はcommit id(バージョン番号)です.バージョンクエリーについて説明します.次に、タイムシャトルのバージョンのロールバックを実現し、指定したバージョンに戻る方法について説明します.
add distributedのバージョンに戻るには、どうすればいいですか?まずバージョン番号の知識を理解しておきます.GItではHEADは現在のバージョン、つまり最新の提出88356…を表しています.前のバージョンは
HEAD^
で、前のバージョンはHEAD^^
です.もちろん、前のバージョンは100個の^
と書くのは数えにくいので、HEAD~100
と書きます.現在のバージョン
append GPL
を前のバージョンadd distributed
にロールバックするには、git reset
コマンドを使用します.$ git reset --hard HEAD^
HEAD is now at 88d343d add distributed
readme.txtファイルを表示すると、前の変更バージョンにロールバックされていることがわかります.
$ cat readme.txt
Git is a distributed version control system.
Git is free software.
これでwrite a readme fileバージョンに戻ることもできます.戻る前にgit logで現在のバージョンの状態を確認してみると、append GPLのバージョンはもうありません.
$ git log
commit 88d343da5f03503622ef58308374895dbeb11099 (HEAD -> master)
Author: legendhua
Date: Wed May 8 12:19:31 2019 +0800
add distributed
commit 31b5d90aaa558fbb8a95596aea0becaf69af76cc
Author: legendhua
Date: Wed May 8 10:07:54 2019 +0800
write a readme file
現在のバージョンHEADはadd distributedのバージョンですが、ロールバック前のappend GPLに戻りたい場合は、append GPLのバージョン番号を見つけるだけです.コマンドインタフェースが閉じていない場合は、バージョン番号8835644が表示されます.
$ git reset --hard 883564
HEAD is now at 8835644 append GPL
書類を見ると、私は胡漢山がまた帰ってきたので、不思議ではありません.
$ cat readme.txt
Git is a distributed version control system.
Git is free software distributed under the GPL.
コマンドラインのインタフェースが閉じられ、コンピュータも再起動された場合、Gitはどのように特定のバージョン番号を探していますか?
$ git reflog
8835644 (HEAD -> master) HEAD@{0}: reset: moving to 883564
88d343d HEAD@{1}: reset: moving to HEAD^
8835644 (HEAD -> master) HEAD@{2}: commit: append GPL
88d343d HEAD@{3}: commit: add distributed
31b5d90 HEAD@{4}: commit (initial): write a readme file
歴史コマンドから見ると、append GPLのバージョン番号は8835644なので、無事にタイムスリップして帰ることができました.
小結
まとめてみます.
git reflog
が指すバージョンが現在のバージョンであるため、Gitはバージョンの履歴間を行き来し、コマンドHEAD
を使用することができます.git reset --hard commit_id
でコミット履歴を表示して、どのバージョンにロールバックするかを決定し、現在の変更前の履歴(現在を含む)しか表示されず、後で追跡できません.git log
でコマンド履歴を表示して、将来のバージョンに戻るかどうかを決定します.