默認在mac下學習,只簡單記錄命令作用,根據廖雪峰大神的網站學習
- 先創建一目錄 learngit
$ mkdir learngit
$ cd learngit```
2. 通過git init命令把這個目錄變成Git可以管理的倉庫
```$ git init```
3. 通過git add命令告訴Git,把文件添加到倉庫暫存區
``` $ git add readme.txt```
4. 通過git commit命令告訴Git,把文件提交到倉庫,-m后面輸入的是本次提交的說明
```$ git commit -m "wrote a readme file"```
5. 修改了文件內容后,可通過 git status命令可以讓我們時刻掌握倉庫當前的狀態
```$ git status```
6. 查看具體修改了什么內容,通過 git diff 命令, 再次添加,提交 轉到3,4步
```$ git diff```
7. 通過 git log 查看版本歷史記錄,如果輸出信息太多, --pretty=oneline參數,git log --pretty=oneline
``` $ git log 或 $ git log --pretty=oneline```
8. 返回之前某個版本,在Git中,用HEAD表示當前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一樣),上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
```$ git reset --hard HEAD^```
9. 回退后又想重新回到最最新的版本,通過 git reflog 來查看我們用過的命令
``` $ git reflog```
這個命令列出了我們每一次提交的 commit id,通過命令 git reset --hard 04163a6cf ,可以返回最新的版本
```$ git reset --hard 04163a6cf```
10. 暫存區stage
``` git add 的狀態:```

git commit 的狀態:

11.git 跟蹤管理的是修改,每一次的修改都要 git add 到暫存區內,最后git commit 才能把修改提交成功
12.撤銷修改
場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令
```git checkout -- file```
。
場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令
```git reset HEAD file```
,就回到了場景1,第二步按場景1操作。
場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠程庫。
13.刪除文件
分兩種情況:
一、確實要從版本庫中刪除該文件,那就用命令git rm刪掉,并且git commit
```$ git rm test.txt
$ git commit -m "delete test.txt" ```
二、誤刪文件,通過 git checkout -- test.txt 回復到最新版本
``` $ git checkout -- test.txt```