天天看點

git指令使用

1.下載下傳安裝:

yum install git

2.檢視目前git版本:git --version

3.初始化git版本庫:

建立一個test1目錄,複制一些檔案做測試使用

git指令使用

在test1目錄執行git init 将目前目錄初始化為git倉庫目錄

執行ls -a 可以看到已經生成了.git隐藏版本倉庫目錄

git指令使用

4.配置config檔案

git的配置檔案有三種:

a.某個倉庫特有的配置檔案,test1/.git/config

b.全局配置檔案,對目前使用者的所有git都生效,在~/.gitconfig,一般都是配置這個級别的檔案

c.系統級别的配置檔案,/etc/git/gitconfig

在使用中,一般配置git 全局即可.

git指令使用

使用git config --global user.name xxxx

git config --global user.email [email protected]

一般隻需配置這2個。

使用git config -l 檢視git 配置

5.git add :暫存檔案

git倉庫分為索引區也稱為暫存區,另一個是對象庫及版本庫。

使用git add 指令就是講工作目錄中的某個檔案或所有檔案添加至暫存區:

git add test 存放單個檔案

git add . 将目前工作目錄中的所有檔案添加至暫存區

使用git status 檢視暫存區的檔案

git指令使用
6 git ls-files -s檢視暫存區檔案資訊,權限,hash對象名,暫存号,及原始檔案
git指令使用

7.git ls-files -o:檢視目前工作目錄中有哪些檔案處于未被追蹤狀态的,即沒有使用git add 添加到版本庫中的檔案或者是屬于.gitignore中的檔案

8.gitignore檔案:

在目前git工作目錄中建立vim .gitignore ,在.gitignore中定義的檔案在使用git add 指令時将不會被追蹤至git倉庫,可定義單個檔案,如1.txt,或者某個目錄如pam.d/,也可以支援通配符,*.jpg

9.git cat-file -p 檔案hash碼 :檢視檔案内容:

hash碼至少4位,

git指令使用
10.git hash-object xxx:使用sha1算法計算某檔案的hash:
git指令使用

11.git rm :删除檔案及暫存區中的檔案資訊

git rm 1.txt

要想隻删除暫存區中的檔案資訊,使用git rm 2.txt --cached

12.git mv :修改檔案資訊及暫存區中的檔案對象資訊

git mv 1.txt 2.txt

13.git commit -m 'xxxxxx':送出一次git版本并備注好資訊,-m 為必須的參數,git commit -m 'v1.0.1'

14.git log :檢視git commit日志

git指令使用

其中 commit資訊非常有用

15.git 引用:

git 會自動維護幾個特定的特殊符号引用:

HEAD:始終指向目前分支的最近一次送出或檢出的其他分支的最近一次送出

ORIG_HEAD:合并操作時,新生成的送出的上一次送出儲存在此引用中

MEGER_HEAD:合并操作時,其他分支的上一次送出

相對送出名:

^:如v6^1,表示合并之前的v6上一次commit,v6^2,合并後的另一個分支的上一次commit

~:v6~1,目前commit的上一次送出,v6~2,目前commit的上一次的上一次送出

16.git diff :git中的比較,注意,工作目錄中未被追蹤的檔案将不會被git比較

  1. git diff : 目前工作目錄内容與索引暫存區的檔案進行比較
    git指令使用

17.git diff HEAD:目前工作目錄與最近一次送出進行比較

git diff HEAD

git指令使用

18.git diff --cached:目前索引暫存區與最近一次送出比較

19.git diff commit1 commit2 :

将任意兩次commit進行比較,使用git log 檢視commit ID

20.git reset:撤銷之前的操作

git reset --soft commit1 :将HEAD引用指向特定的送出,但不影響索引區和工作目錄

git reset --mixed commit2:将HEAD引用指向特定的送出,并将索引暫存區内容改變為指定送出快照,但不改變工作目錄.

git reset --hard commit3:将HEAD引用指向特定的送出,并将索引暫存區内容改變為指定送出快照,會改變工作目錄内容,注意該選項有可能會引起目前目錄的某些檔案内容丢失!!!!慎用!!!

想檢視某個commit的ID可以去.git/logs/refs/heads檢視檔案資訊

git指令使用

git reset --hard HEAD^ 恢複到目前commit的上一次送出

git reset --soft HEAD~

21.git reset HEAD file1 将目前索引區的某一檔案給删除。

git指令使用