docker-compose 搭建 Elasticsearch + kibana
git init 在當前目錄下生成Git倉庫
git clone [url] 在當前目錄下克隆一份git程式碼
git clone [url] 目錄F 自定義本地倉庫的名字
git add 目錄F/檔案f # 將當前目錄下F/f新增進A區
git status -s 以一種緊湊的格式輸出當前檔案的狀態
有以下幾種字母代表的狀態
A:剛剛新增到B區的檔案,
??:尚未新增進A區的檔案
M:M有兩種可能出現的位置,第一個位置的M為C區與B區的檔案不一致,第二個M代表C區與A區不一致
.gitignore檔案中為忽略納入git管理的檔案種類,
git diff 檢視A區與B區檔案的差別,後面可跟具體檔名
git diff --cached/staged 檢視B區與C區檔案的差別,後面可跟具體檔名
git commit -am '備註資訊' 直接將A區檔案同步至B區及C區,並非跳過B區直接更新C區.相當於add + commit
git rm 目錄F/檔案f 將目錄或檔案從B區刪除
git rm --cached/staged 將目錄或檔案從C區刪除
git mv file_a file_b 將B區檔案file_a改名至file_b 等價於 mv file_a file_b + git rm file_a + git add file_b
git log 根據提交時間由近到遠顯示提交歷史 更多格式
$ git log commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <[email protected]> Date: Mon Mar 17 21:52:11 2008 -0700 changed the version number
$ git log -p -2 # -p 顯示每次提交的內容差異 -2 最近的兩次 commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <[email protected]> Date: Mon Mar17 21:52:11 2008 -0700 changed the version number diff --git a/Rakefile b/Rakefile index a874b73..8f94139 100644 --- a/Rakefile +++ b/Rakefile @@ -5,7 +5,7 @@ require 'rake/gempackagetask' spec = Gem::Specification.new do |s| s.platform = Gem::Platform::RUBY s.name = "simplegit" - s.version = "0.1.0" + s.version = "0.1.1" s.author = "Scott Chacon" s.email = "[email protected]" s.summary = "A simple gem for using Git in Ruby code."
$ git log --stat # --stat 每次提交的簡略資訊 commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <[email protected]> Date: Mon Mar 17 21:52:11 2008 -0700 changed the version number Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
$ git log --pretty=oneline # --pretty 這個選項可以指定使用不同於預設格式的方式展示提交歷史,比如用online將每個提交放在一行顯示
ca82a6dff817ec66f44342007202690a93763949 changed the version number
085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7 removed unnecessary test
a11bef06a3f659402fe7563abf99ad00de2209e6 first commit
git commit --amend 該操作為重新提交B區檔案至C區(假設你想更改上次的提交資訊或者忘記改動某個檔案),並且該次提交會替換上一次提交
git reset HEAD 檔案f 該操作會將C區檔案f反向更新至B區 --hard則更進一步更新至A區(該操作較危險)
注 Git 中任何 已提交的 東西幾乎總是可以恢復的。 甚至那些被刪除的分支中的提交或使用 --amend
選項覆蓋的提交也可以恢復。 但是任何你未提交的東西丟失後很可能再也找不到了。