Git的使用(LINUX/Ubuntu下)

可參考視頻資料:b站搜索"git使用",up主"不咲貓"(音:xiao mao)

 

0.建立git目錄(倉庫/代碼庫)

   git init (在本機電腦上新建的某個文件夾下執行此句,表示那個文件夾可以被git管理)

   執行此句之後可以用ls -la看到多出了一個.git文件

1.創建版本

     git add .  (git add <filename>)

     回車,然後再輸入:

     git commit -m "提交說明,每次的說明內容可以一樣"

2.查看版本記錄

    git log (git reflog)(有的時候一屏顯示不完,會用冒號開頭顯示,按上下鍵滾動,按q退出)

    git log --pretty=oneline (以簡短形式顯示)  

3.版本回退

    git reset --hard HEAD^^^(表示回退到當前版本的前三個版本)

    git reset --hard HEAD^^^^(表示回退到當前版本的前四個版本)

    git reset --hard HEAD~100(表示回退到當前版本的前100個版本)

    gir reset --hard 725b257ef (725b257ef爲想要回退到的那個版本的版本號的前幾位,版本號可以用git log 或git reflog查看)

4.查看狀態(git status)

    git  status ,查看暫存區的更新狀態。如果某次,新加了一個文件code3.txt,又更改了一個文件code2.txt.當我們執行git add code2.txt code3.txt之後,執行git status,變回顯示出:

 

  然後git commit -m "xxxx" 就可以將 code2.txt和code3.txt提交。  

5.工作區和暫存區

   工作區是指編輯代碼的目錄,即當時git init執行的那個目錄。

   暫存區是指git管理的目錄,在本地目錄和遠程目錄的中間地帶。git add命令可以使工作區的文件提交到暫存區,git commit命令可以使得暫存區的文件創建一個版本號。

    git只會對提交暫存區的修改創建版本。(即如果對code3.txt的內容還未做git add的話,那麼cat code3.txt之後的內容實際和工作區的內容是不一樣的)

6.撤銷修改

   git checkout --<filename>丟棄工作區的改動。

   如果code3.txt已經通過git add添加到了暫存區,這時候想要撤銷的話,就要git reset HEAD code3.txt (即撤銷暫存區的修改),然後執行git status就發現又可以對code3.txt進行git checkout操作了.。

  場景1:當你改亂了工作區的某個文件內容,想直接丟棄工作區的修改時,用git checkout --filename

  場景2:不但改亂了工作區的內容,還添加到了暫存區,想丟棄修改。此時先要git reset HEAD filename,就回到場景1,按場景1操作。

   場景3:已經提交了不適合的修改到版本庫時,想要撤銷修改時候,則要用第3條所示的版本回退。

7.對比文件差異

   (1)對比工作區的文件和版本中的文件不同:git diff HEAD -- code3.txt

   顯示的結果中,沒有加號或減號的表示兩個文件中都有的內容。 -減號後的內容,表示HEAD中的內容,加號+代表工作區中的內容,+xxxxx表示工作區的code3.txt比HEAD版本中多處的一行內容是xxxx;

    (2)對比兩個版本之間某個文件的不同

     如要對比HEAD和HEAD^的code3.txt的不同。輸入git diff HEAD HEAD^ --  code3.txt ,在結果中,沒有加號或減號表示兩個文件都有的內容。-代表HEAD中的內容,+代表HEAD^中的內容。如下圖,其結果的意思是,HEAD版本中的三行紅色內容與HEAD^版本的一行綠色內容差異,即HEAD^版本的一行加號綠色內容被改爲了HEAD版本的三行減號紅色內容

  如把HEAD和HEAD^位置對調,即git diff HEAD^ HEAD -- code3.txt,則結果爲下圖,-減號代表HEAD^的內容,+加號代表HEAD的內容。顯示的內容雖然對調了,但內涵卻與上圖是一致的。

 

8.刪除文件

 rm code3.txt

刪除或修改文件都是對工作區的內容做改動,因此都可以用git checkout撤銷;

如果確實要將它從工作區刪除,則可以把刪除的操作提交,即可以git add code3.txt.或git rm code3.txt.

若想將刪除提交,則git commit -m "刪除"

  因爲刪除文件也是對工作區的改動,因此:

  場景1:當你改亂了工作區的某個文件內容,想直接丟棄工作區的修改時,用git checkout --filename

  場景2:不但改亂了工作區的內容,還添加到了暫存區,想丟棄修改。此時先要git reset HEAD filename,就回到場景1,按場景1操作。

   場景3:已經提交了不適合的修改到版本庫時,想要撤銷修改時候,則要用第3條所示的版本回退。

 

 

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