windows && linux 本地使用Git必須掌握的命令

0 安裝和打開

windows和linux下載安裝Git工具,參考上一篇文章。

linux 即在shell 下使用;windows 安裝完成後鼠標右鍵,在當前文件夾目錄下打開git bash.

之後的命令操作是完全一樣的。

1 創建GIT管理倉庫

在代碼所在路徑下:

git init

當前目錄下生成生成一個.git目錄,此目錄用於跟蹤管理版本庫,不可人爲修改。

2 把文件添加到倉庫

  可以添加多個文件 git add readme.txt readme1.txt ...

git add readme.txt

3 向Git版本庫提交說明、備註

git commit -m "wrote a readme file"

首次使用可能出現的提示:

*** 請告訴我你是誰。

運行

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

來設置您賬號的缺省身份標識。
如果僅在本倉庫設置身份標識,則省略 --global 參數。
************************************************************************

按照提示設置郵箱即可。

4 修改代碼後,進行提交保存

git add readme.txt    

git commit -m "修改備註"

5 查詢更改日誌

git log

git log命令顯示從最近到最遠的提交日誌

如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上--pretty=oneline參數:

6 回滾版本

git reset --hard HEAD^

在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100

向前一個版本之後,用git log 命令查詢,上一個版本信息不存在了。

7 找回回滾掉的版本

git reset --hard 1094a

前提是之前的窗口沒有刪除,且知道回滾掉的版本號。

版本號沒必要寫全,前幾位就可以了,Git會自動去找。當然也不能只寫前一兩位,因爲Git可能會找到多個版本號,就無法確定是哪一個了。

對於第七條和第八條的補充

如果使用git  reset --hard HEAD^^ 回滾多條,則不保留中間條的信息。

使用git reset --hard id 找回時,找回包含中間條。

8 查看歷史命令

要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。

9 查詢版本庫文件狀態

 git status

  文件夾中只有一個文件

 On branch master
 nothing to commit, working tree clean

  添加額外文件  eg: license, 使用命令git status查看

On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        license.txt

nothing added to commit but untracked files present (use "git add" to track)
LICENSE還從來沒有被添加過,所以它的狀態是Untracked

無論是對原文件的修改,還是添加新文件,均要git add  && git commit。 包含了暫存區內部處理過程。

每次修改,如果不用git add到暫存區,那就不會加入到commit中。

10 撤銷工作區的修改

git checkout -- readme.txt

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作區的修改全部撤銷,這裏有兩種情況:

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經添加到暫存區後,又作了修改,現在,撤銷修改就回到添加到暫存區後的狀態。

總之,就是讓這個文件回到最近一次git commitgit add時的狀態。

另外撤銷情況,已經使用git add添加到暫存區

git reset命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用HEAD時,表示最新的版本。

git reset HEAD readme.txt
git checkout -- readme.txt

11 刪除文件

1) rm test.txt

  git rm test.txt 

  git commit -m "remove test.txt"

  刪除文件且在版本庫中也刪除文件

2) rm test.txt

    git checkout -- test.txt

   前提是在git庫中添加了test.txt的情況下,rm 刪除之後可以恢復。

 

本文章是從原作者哪裏的摘錄,原文鏈接:https://www.liaoxuefeng.com/wiki/896043488029600

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