1. 程式人生 > >Git命令記錄

Git命令記錄

TE AI 上班 刪除文件 執行 reflog 工作區 git config

1、創建與修改用戶名和郵箱地址:

  $ git config --global user.name "username"

  $ git config --global user.email "email"

2、查看用戶名和郵箱地址:

  $ git config user.name

  $ git config user.email

3、顯示當前目錄

  $ git pwd

4、把當前目錄變成Git可以管理的倉庫

  $git init

5、Git添加文件需要add、commit一共兩步

  例子:

  $ git add file1.txt

  $ git add file2.txt file3.txt

  $ git commit -m "add 3 files."

6、讓我們時刻掌握倉庫當前的狀態

  $ git status

7、Git告訴我們readme.txt被修改了,但如果能看看具體修改了什麽內容,自然是很好的。比如你休假兩周從國外回來,第一天上班時,已經記不清上次怎麽修改的readme.txt,所以,需要用git diff這個命令看看:

  $ git diff readme.txt

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

  $ git log

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

  $ git log --pretty=oneline

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

11、回退到上一個版本

  $ git reset --hard HEAD^

  回到指定commit id的版本

  $ git reset --hard 1094a //1094a id前幾位

12、查看文件

  $ git cat readme.txt

13、查看歷史命令

  $ git reflog

14、概念:理解工作區與暫存區,git add命令實際上就是把要提交的所有修改放到暫存區(Stage),然後,執行git commit就可以一次性把暫存區的所有修改提交到分支;

  Git跟蹤並管理的是修改,而非文件,每次修改,如果不用git add到暫存區,那就不會加入到commit中

15、用git diff HEAD -- readme.txt命令可以查看工作區和版本庫裏面最新版本的區別:

16、git checkout -- file 可以丟棄工作區的修改:

  $ git checkout -- readme.txt

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

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

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

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

17、用命令git reset HEAD <file>可以把暫存區的修改撤銷掉(unstage),重新放回工作區:

  $ git reset HEAD readme.txt

18、刪除文件git rm <file>

  $ git rm test.txt

  現在你有兩個選擇,一是確實要從版本庫中刪除該文件,那就用命令git rm刪掉,並且git commit:
  另一種情況是刪錯了,因為版本庫裏還有呢,所以可以很輕松地把誤刪的文件恢復到最新版本:$ git checkout -- test.txt
  git checkout其實是用版本庫裏的版本替換工作區的版本,無論工作區是修改還是刪除,都可以“一鍵還原”。

Git命令記錄