clone程式碼
clone所有分支:git clone [url] [本地資料夾名]
clone指定分支:git clone -b 分支名稱 [url] [本地資料夾名]
檢視所有遠端分支:git branch -r
切換分支:git checkout -b 分支名稱
本地倉庫關聯到遠端倉庫:git remote add origin [url]
git配置
git配置檔案全都是簡單的.ini檔案風格的文字檔案,支援不同層次的配置,優先順序從小到大依次為:
-
/etc/gitconfig 全域性的配置設定,這個檔案也可能在/user/local/etc/gitconfig,也可能是完全不存在
-
~/.gitcofnig 使用者特定的配置設定,可以通過--global選項修改,win系統在%USER_PROFILE%/.gitconfig
-
.git/config 版本庫特定的配置設定,可以使用--file修改,--file是預設選項,該配置擁有最高優先順序
$ git config --list [通過此命令檢視當前git專案的所有配置]
$ git config --list --global [通過此命令檢視git全域性的配置]
複製程式碼
設定全域性預設的名字和郵箱
$ git config --global user.name "name"
$ git config --global user.email "email@email.com"
# git commit期間開啟編輯器編輯日誌訊息
$ git config --global core.editor vim
複製程式碼
設定專案配置資訊方式,在專案目錄下使用命令,會修改.git/config中的配置,覆蓋全域性配置
#將使用者名稱設為nickname
$ git config user.name "nickname"
$ git config user.email "xxx@gmail.com"
#將使用者郵箱設為nickname@gmail.com
使用--unset來移除設定
$ git config --unset --global user.email
$ git config --unset core.editor
複製程式碼
提交歷史
git log命令會產生版本庫裡一系列單獨提交的歷史,條目按照從最新的到最老的順序羅列(不是按照時間順序,而是提交的拓撲順序排列),每個條目顯示了提交作者的名字、email、提交日期、變更的日誌記錄和提交的內部識別碼
git show <提交ID> 可以檢視特定提交的詳細資訊,如果沒有指定提交碼,則只顯示最近一次提交的詳細資訊
$ git log
commit a26981b7d65bb4d30001e2b641869dc1d2e83e9e (HEAD -> master)
Author: xingmu <xxx@126.com>
Date: Sun May 13 00:57:04 2018 +0800
確認功能
commit 6d86cd5a50d5ca1323bdec20bd5dfcb388008005
Author: xingmu <xxx@126.com>
Date: Sun May 13 00:55:36 2018 +0800
convert to html
$ git show 6d86cd5a50d5ca1323bdec20bd5dfcb388008005
commit 6d86cd5a50d5ca1323bdec20bd5dfcb388008005
Author: xingmu <xxx@126.com>
Date: Sun May 13 00:55:36 2018 +0800
convert to html
diff --git a/index.html b/index.html
index 34217e9..fa3df91 100644
--- a/index.html
+++ b/index.html
@@ -1 +1,5 @@
+<html>
+ <body>
My website is alive!
+ </body>
+</html>
複製程式碼
檢視提交差異
git diff <提交id> <提交id>
$ git diff 6d86cd5a50d5ca1323bdec20bd5dfcb388008005 a26981b7d65bb4d30001e2b641869dc1d2e83e9e
diff --git a/index.html b/index.html
index fa3df91..60ea836 100644
--- a/index.html
+++ b/index.html
@@ -1,4 +1,7 @@
<html>
+ <title>
+ git demo
+ </title>
<body>
My website is alive!
</body>
複製程式碼
版本庫內的檔案刪除和重新命名
## 刪除
$ git rm readme.md
rm 'readme.md'
$ git commit -m "remove file readme.md"
[master a934b71] remove file readme.md
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 readme.md
## 重新命名
$ git mv user.html user.html_bak
fatal: 不在版本控制之下,源=user.html,目標=user.html_bak
$ git add user.html
$ git mv user.html user.html_bak
```複製程式碼