git學習筆記(一)

在上一家公司的時候都是使用git在命令行下直接進行操作,換了工作後就一直使用SourceTree進行代碼提交。雖然可視化工具操作起來很方便,但是git的一些命令也不能忘,所以預計通過幾篇文章將自己的學習(複習)過程記錄下來,便於以後的查看。學習的途徑主要爲廖雪峯老師的git教程,更爲詳細的教程可點擊進行查看。

以下操作均在windows環境下進行操作。

一、創建版本庫

在任意新建文件夾(如:在桌面創建名爲GitTest的文件夾),打開新建的文件夾,在文件夾空白處右擊,選擇Git Bash Here。在彈出的Bash窗口中輸入命令git init來初始化git倉庫:

$ git init

git init

命令執行完後,文件夾中會多出一個.git文件夾。該文件夾默認是隱藏的,在windows下可以更改文件夾屬性來查看。或者在bash窗口中使用ls -al命令查看。.git文件夾中文件用於管理控制倉庫,在不清楚的情況下,不能輕易修改。

新建test.txt,打開並隨意輸入一行文字,保存後退出。

使用命令git add test.txt,將文件添加到倉庫,然後使用命令git commit -m “add test.txt”命令將文件提交到倉庫。如果有多個文件可以多次執行git add 命令將這些文件加入到倉庫,也可以執行git add .將所有文件加入到倉庫。-m參數後寫的是本次提交的說明。

$ git add test.txt
$ git commit -m 'add test.txt'

git add

二、版本回退

  • 查看倉庫當前狀態

使用命令git status查看當前倉庫狀態,如新添加了一個空的text1.txt文件後,使用命令,

$ git status

結果顯示如下:

這裏寫圖片描述

可以看到git提示Untracked files,因爲test1.txt爲新增的文件。
將新增的文件加入倉庫,然後再次使用git status查看倉庫狀態,

$ git add test1.txt
$ git status

這裏寫圖片描述
這時git提示我們存在可以提交的內容。

將新增的文件提交到到版本庫:

$ git commit -m 'add new file named test1.txt'
  • 查看文件具體變化內容

在新增的test1.txt文件中新增一行文字,使用git status顯示test1.txt文件發生了修改,但是沒用提示修改了什麼內容,這時就可以通過命令git diff查看具體修改的內容:

$ git diff test1.txt

這裏寫圖片描述
可以看到提示增加了一行文字。

  • 版本回退
    在版本回退前,可以使用git log查看最近的提交記錄,如果提交記錄太多,可以使用git log –pretty =oneline(注意:pretty前爲兩個“-”)將顯示簡化:
$ git log

這裏寫圖片描述

可以看到有四次提交,最近兩次分別爲“edit file test1.txt”(在文件中添加了一行文字),“add new file named test1.txt”(新增了一個文件test1.txt)。commit後面一長串爲這次提交的commit id,git 會爲每次提交自動生成一個commit id。

在git中,HEAD表示當前版本,此時的版本爲cmmmit id爲d82683aa……25580bf2的這個版本。上個版本表示爲HEAD^,上上個版本爲HEAD^^,前第100個版本可以用HEAD~100表示。所以這時我們想退回到上個版本,“add new file new named test1.txt”這個版本,可以使用命令:

$ git reset --hard HEAD^

再次查看提交記錄,發現還是三條提交記錄,版本回到了“add new file named test1.txt ”這個版本。查看文件發現新加的一行文字也消失了。如果想接着回退可以再次使用上面的命令。
這裏寫圖片描述

如果這時發現回退錯了版本,我們想獲得增加了一行文字的那個版本,可以使用下面的命令:

$ git reflog

這裏寫圖片描述

git reflog命令可以顯示命令記錄,可以看到編輯test1.txt文件的那個版本號爲d82683a,這時使用命令回到該版本:

$ git reset --hard d82683a

這裏寫圖片描述

這時版本又回到了test1.txt被修改過後的狀態,查看test1.txt發現添加的一行文字又回來了。

未完待續……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章