今天又有新來的小朋友問我關於 Git 的用法,我發現仍是有蠻多新人不會用的,或者用很差的。其實想一想本身剛工做時也是倒騰不清楚這些參數和用法,並且總怕出錯,慢慢的多看文檔、用得多了就熟悉了,今天簡單跟你們分享幾點。git
首先咱們要清楚在本地的三種狀態:web
好吧我把命令已經寫上去了。緩存
本地改完了代碼,就用編輯器
git add 文件名/文件夾/多個也可
複製代碼
提交到緩存區,這裏若是文件改動的比較多,但又不是每一個都須要提交,我會設置 git ignore file
,就表示這些文件不要提交,好比在 build project 的時候會自動生成的那些文件等等。ui
而後再url
git commit -m "comment"
複製代碼
纔會到本地庫。通常後面都會跟個 -m
加句 comment
,簡單說下改了啥,像咱們公司你們默認也會把 Jira
連接附上,這樣就知道這個改動對應哪一個任務。spa
那若是想再改,再從新 git add
便可,可是 commit
這句須要改爲日誌
git commit --amend
複製代碼
這樣就仍是一條 git log 信息。code
git log
可讓咱們查看提交過的日誌,這個主要是由於若是須要對版本進行前進 or 後退的(下一個 reset
),就須要用到編號
。cdn
直接 run
git log
複製代碼
的話就會顯示一大坨信息,從近到遠顯示每次 commit 的 comment 還有做者、日期等信息,好比大概長這個樣子:
commit 5abcd17dggs9s0a7a91nfsagd8ay76875afs7d6
Author: Xiaoqi<xiaoqi@163.com>
Date: xxx xxx xxx
改了 Test 文件
複製代碼
commit 後面的這個編號
,是每次歷史記錄的一個索引
。
這樣打印的 log 太多,更簡潔的打印方式是:
git --oneline
複製代碼
就一行打印出來了。
或者:
git reflog
複製代碼
更經常使用一些。
那咱們剛剛說過,若是須要前進或退回到某個版本,就用
git reset --hard <編號>
複製代碼
這樣就直接跳到了這個編號
對應的那個版本。
那麼這個 hard
是什麼意思呢?
這裏有 3 個參數:hard
, soft
, mixed
,咱們一一來講一下。
回到咱們最重要的這張圖上來:
咱們剛剛說的前進或後退到某一版本,是對本地庫
進行的操做。
那有個問題:
本地庫的代碼跳到那個版本以後,工做區和暫存區的代碼就和本地庫的不一樣步了呀!
那這些參數就是用來控制這些是否同步的。
三個區都同步,都跳到這個 xxx 的版本上。
前面兩個區不一樣步,就只有本地庫跳到這個版本。
暫存區同步,工做區不動。
因此呢,用的多的就是 hard.
關於 Git 的用法還有不少,若是你們喜歡這個系列還請給我點個「在看」呀,這樣我就更有動力去寫啦~
悄悄話:每次到了週四都以爲週末快到了,想着今天多幹點活明天就能夠早下班了,因此今天效率超級高哈哈~