1. 程式人生 > >二、Git基本操作

二、Git基本操作

git init 在目錄中建立新的 Git倉庫

git add 將該檔案新增到快取

git commit將快取區內容新增到倉庫中。

git status 檢視專案的當前狀態。

git diff 顯示已寫入快取與已修改但尚未寫入快取的改動的區別。

git reset HEAD 命令用於取消已快取的內容。

git checkout – file丟棄工作區的修改

git rm將檔案從快取區和你的硬碟中(工作目錄)刪除

git mv重新命名磁碟上的檔案

建立版本庫

建立版本庫之前首先要有一個工作區,工作區即為電腦中所能看到的目錄。工作區有一個隱藏目錄.git,這個不算工作區,是Git的版本庫。裡面有暫存區,還有

Git為我們自動建立的第一個分支master,以及指向master的一個指標叫HEAD

一:選擇一個合適的地方,建立一個空目錄(方法與linux相同)

$ mkdir learngit
$ cd learngit

二:初始化一個Git倉庫,使用git init命令。

三:新增檔案到Git倉庫,分兩步:

第一步,使用命令git add <file>,注意,可反覆多次使用,新增多個檔案;實際是把修改的檔案新增到暫存區

第二步,使用命令git commit,把檔案提交到倉庫,即當前分支,完成。

git commit –a (提交所有本地修改)

git commit –m “deleted 1 line”

 (對提交的修改進行描述)

切記在提交時前要git add開始跟蹤檔案,否則不能commit成功,因為每次修改如果不add到暫存區,那就不會加入到commit中。

月光寶盒穿梭

一、檢視當前工作區狀態,有沒有進行修改git status

可以加入引數git status –s檢視簡簡訊息

如果在克隆倉庫之後立即執行此命令,會看到類似這樣的輸出:


這說明你現在的工作目錄相當乾淨。換句話說,所有已跟蹤檔案在上次提交後都未被更改過。此外,上面的資訊還表明,當前目錄下沒有出現任何處於未跟蹤的新檔案,否則 Git會在這裡列出來。 master這是預設的分支名稱

二、  如果git status

顯示檔案被修改過,檢視修改內容git diff

·尚未快取的改動:git diff

·檢視已快取的改動: git diff --cached

·檢視已快取的與未快取的所有改動:git diff HEAD

·顯示摘要而非整個 diffgit diff --stat

修改與提交新檔案步驟是一樣的,git add --->git commit

、檢視提交歷史,以確定要回退到哪個版本git log

也可以通過新增引數來檢視簡潔的日誌資訊git log-–pretty=oneline


五、歷史與未來穿梭

gitHEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100^比較容易數不過來,所以寫成HEAD~100。例如現在有123三個版本,3是最新的。

要從3回退到上一個版本2git reset--hard HEAD^

2再回到之後的版本3git reset –hard*****(3commit ID號前幾位便可)


如果不記得3版本的ID號可以通過git reflog檢視命令歷史,或者通過git log檢視,找到其ID

六、撤銷修改;

1)丟棄工作區的修改git checkout – file

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

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

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

2)已經git add但沒有commit,即已經放入暫存區。

撤銷掉暫存區的修改,重新放回工作區:git resetHEAD file然後再執行上一步。


七、刪除檔案;

1rm file或者直接手動在檔案管理器中刪除

2)從版本庫中刪除該檔案git rm file然後git commit


git rm file 會將檔案從快取區和你的硬碟中(工作目錄)刪除。

如果你要在工作目錄中留著該檔案,可以使用git rm --cached

3)刪錯,但版本庫裡有,把誤刪檔案恢復到最新版本git checkout –file

    (4git mv命令做得所有事情就是git rm--cached 命令的操作, 重新命名磁碟上的檔案,然後再執行 git add 把新檔案新增到快取區。

$ git mv README README.md

$ ls

README.md