Git学習使用(三):バージョン制御

5266 ワード

まず、git statusを使ってGit倉庫の状態を確認するようにします.先にReadme.txtファイルを変更します.
Git is a distributed version control system.
Git is free software.
次にgit statusを実行します.
$git status
     master
           :
  (   "git add ..."         )
  (   "git checkout -- ..."         )

      :     Readme.txt

        (   "git add"  /  "git commit -a"
Gitは今の倉庫の状態と私達がどうすればいいか教えてくれます.
Readme.txtファイルが変更されたことをすでに知っています.私たちもファイルの変更部分をどうやって確認するかを知りたいです.これはgit diffを使って、名前の通りに違いを見ます.
$git diff Readme.txt
diff --git a/Readme.txt b/Readme.txt
index f7249b8..d225882 100644
--- a/Readme.txt
+++ b/Readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system
+Git is a destributed version control system
 Git is free software
バージョン切り替え
私達はやはり先にReadme.txtファイルを修正します.
Git is a distributed version control system.
Git is free software distributed under the GPL.
その後、前に述べたgit add及びgit commit -m ' 'の方法を用いて提出する.
今、私達が提出したReadme.txtファイルを振り返ってみます.バージョン1:wrote 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:apped GPL
Git is a distributed version control system.
Git is free software distributed under the GPL.
Gitでは、git logコマンドを使って、一番近いところから一番遠いところまでの提出ログを表示できます.
$git log
commit 27aac89313fd6ce2bb0910290c77bb6269037dd6
Author: K****a 
  • .com> Date: Thu Feb 9 07:15:13 2017 -0500 append GPL commit 3304e0b2ad9c9341659f6d61085fdcefebffe693 Author: K****a
  • .com> Date: Thu Feb 9 07:14:22 2017 -0500 add distributed commit fb57c123ecf755a68c35e1bee187304b5dcb4676 Author: K****a
  • .com> Date: Thu Feb 9 07:13:22 2017 -0500 wrote a readme file
  • 上の情報の中でcomitで頭を打つ行はそのバージョンのバージョン番号です.これはSH A 1の一列の数値です.私達のバージョンの切り替えに使うものですが、完全に記入する必要はありません.先頭の文字だけが必要です.Gitは自分でマッチングします.次の情報は作者と時間です.最後に私達がバージョンを提出する時に書いたコメント情報です.
    上記の情報を使ってバージョンチェンジを行うにはどうすればいいですか?Gitはgit resetコマンドを提供しています.GitではHEADで現在のバージョンを表しています.HEAD^は前のバージョンを表しています.HEAD^は前のバージョンです.50バージョンを表したいなら、HEAD~50を使って表してもいいです.
    $git reset --hard HEAD^
    HEAD      3304e0b add distributed
    私たちはバージョンが3304 e 0 bに移動していることを発見しましたが、いくつかのgit logを調べてみると、2つのバージョンしか残っていませんでした.前のウィンドウが関係していない場合は、次のように戻ります.
    $git reset --hard 27aac
    HEAD      27aac89 append GPL
    これで前のバージョンを取り戻しましたが、もし窓が閉まったら、方法があります.git reflogを使用して、各バージョンの更新を行うコマンドを確認してもいいです.SHA 1の一部を含めて、バージョンの回復が十分です.
    その他に使用するコマンド
    Ⅰ.git checkout -- fileは、ワークエリアの修正Ⅱを廃棄しても良い.addが一時預かりエリアに来た場合:一時預かりエリアの修正をコマンドgit reset HEAD fileでキャンセルして、ワークエリアⅢに戻してファイルを削除し、コマンドgit rm fileで削除し、git commitでバージョンを提出しても良い.エラーが削除されたらgit checkout -- fileを使用して回復できます.
    注:git checkoutは実際にはバージョンライブラリのバージョンでワークエリアのバージョンを置き換えるので、ワークエリアが変更されても削除されても、「ワンタッチで元に戻す」ことができます.