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
·顯示摘要而非整個 diff:git diff --stat
三、修改與提交新文件步驟是一樣的,git add --->git commit
四、查看提交歷史,以確定要回退到哪個版本git log
也可以通過添加參數來查看簡潔的日誌信息git log-–pretty=oneline
五、歷史與未來穿梭
在git中用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。例如現在有1、2、3三個版本,3是最新的。
要從3回退到上一個版本2:git reset--hard HEAD^
從2再回到之後的版本3:git reset –hard*****(3的commit ID號前幾位便可)
如果不記得3版本的ID號可以通過git reflog查看命令歷史,或者通過git log查看,找到其ID號
六、撤銷修改;
(1)丟棄工作區的修改git checkout – file
一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
一種是readme.txt已經添加到暫存區後,又作了修改,現在,撤銷修改就回到添加到暫存區後的狀態。
總之,就是讓這個文件回到最近一次git commit或git add時的狀態。
(2)已經git add但沒有commit,即已經放入暫存區。
撤銷掉暫存區的修改,重新放回工作區:git resetHEAD file然後再執行上一步。
七、刪除文件;
(1)rm file或者直接手動在文件管理器中刪除
(2)從版本庫中刪除該文件git rm file然後git commit
git rm file 會將文件從緩存區和你的硬盤中(工作目錄)刪除。
如果你要在工作目錄中留着該文件,可以使用 git rm --cached
(3)刪錯,但版本庫裏有,把誤刪文件恢復到最新版本git checkout –file
(4)git mv命令做得所有事情就是 git rm--cached 命令的操作, 重命名磁盤上的文件,然後再執行 git add 把新文件添加到緩存區。
$ git mv README README.md
$ ls
README.md