函式+回撥函式
阿新 • • 發佈:2021-07-08
Git 環境配置
命令 | 說明 |
---|---|
git config --list | 檢視 Git 配置資訊 |
git config -e | 編輯當前本地倉庫配置(位置:工作區/.git/config) |
git config user.name [使用者名稱] | 配置當前本地倉庫使用者名稱 |
git config user.email [郵箱名] | 配置當前本地倉庫郵箱 |
git config -e --global | 編輯所有本地倉庫配置(位置:~/.gitconfig) |
git config --global user.name [使用者名稱] | 配置所有本地倉庫使用者 |
git config --global user.email [郵箱名] | 配置所有本地倉庫郵箱 |
Git 初始化操作
Git 倉庫的建立方式
方式 | 說明 |
---|---|
本地建立倉庫 | 1. 在電腦任意位置新建一個空目錄作為本地 Git 倉庫 2. 進入該目錄中,右鍵點選 Git Bash Here ,開啟 Git 命令視窗並執行 git init 命令 3. 當前目錄中出現 .git 資料夾(此檔案為隱藏檔案),本地 Git 倉庫建立成功 |
拷貝遠端倉庫 | 1. 在電腦任意位置,右鍵點選 Git Bash Here,開啟 Git 命令視窗 2. 執行命令 git clone [遠端倉庫地址] 3. 當前目錄中出現 .git 資料夾(此檔案為隱藏檔案),本地 Git 倉庫建立成功 |
Git 工作區、暫存區、版本庫相關概念
型別 | 說明 |
---|---|
工作區 | 包含 .git 資料夾的目錄就是工作目錄,主要用於存放開發的程式碼 |
暫存區 | .git 資料夾中有很多檔案,其中有一個 index 檔案就是暫存區,也可以叫做 stage。暫存區是一個臨時儲存修改檔案的地方 |
版本庫 | .git 隱藏資料夾就是版本庫,版本庫中儲存了很多配置資訊,如日誌資訊、檔案版本資訊等 |
Git 工作區中檔案的狀態
狀態 | 說明 |
---|---|
untracked(未跟蹤) | 未被納入版本控制 |
tracked(已跟蹤) | 已被納入版本控制 |
其中 tracked 又分為三種狀態
-
Unmodified:未修改
-
Modified:已修改
-
Staged:已暫存
Git 本地庫操作
命令 | 說明 |
---|---|
git status | 檢視當前倉庫中檔案的狀態(空目錄不顯示) |
git add | 新增檔案到暫存區 |
git reset | 將暫存區中檔案移除(回退版本) |
git commit | 將暫存區中檔案提交到本地倉庫 |
git rm | 刪除工作區和暫存區檔案(再 git commit 後,提交到本地倉庫) |
git mv | 移動或重新命名工作區檔案或目錄 |
git log | 檢視歷史提交記錄 |
touch .gitignore | 建立 .gitignore 配置檔案,將不需要跟蹤的檔案新增到忽略列表,檢視檔案狀態時忽略此檔案 |
示例: git status
命令 | 說明:檢視當前倉庫中檔案的狀態 |
---|---|
git status | 檢視狀態詳細資訊 |
git status -s | 檢視狀態簡潔資訊 |
示例: git add
命令 | 說明:新增工作區檔案到暫存區 |
---|---|
git add . | 添加當前目錄下所有檔案 |
git add [*.檔案型別] | 添加當前目錄下所有指定型別的檔案 |
git add [檔案.*] | 添加當前目錄下所有指定名稱的檔案 |
git add [檔案1] [檔案2] [檔案N] | 新增指定檔案 |
示例: git reset
命令 | 說明:將暫存區檔案移除 |
---|---|
git reset | 移除暫存區所有檔案和目錄 |
git reset head [檔案1] [檔案2] [檔案N] | 移除指定檔案 |
示例: git commit
命令 | 說明:將暫存區檔案提交到本地倉庫 |
---|---|
git commit | 提交所有檔案(會進入vim編輯模式) |
git commit -m [備註] | 提交所有檔案(不進入vim編輯模式) |
git commit -m [備註] [檔案1] [檔案2] [檔案N] | 提交指定檔案 |
git commit -a -m [備註] | 直接提交工作區所有檔案(不用先 git add 加入暫存區) |
示例: git rm
命令 | 說明:從工作區和暫存區中刪除檔案 |
---|---|
git rm -r . | 刪除所有檔案 |
git rm [檔案1] [檔案2] [檔案N] | 刪除指定檔案 |
git rm -f [檔案] | 刪除指定檔案之前,若修改過並已加入暫存區,則必須使用 -f 強制刪除 |
git rm –r [目錄1] [目錄2] [目錄N] | 刪除指定目錄,須使用 -r 遞迴刪除 |
git rm -rf [目錄] | 刪除指定目錄之前,若修改過並已加入暫存區,則必須加上 -f 強制刪除 |
命令 | 說明:工作區保留,暫存區移除,相當於移除版本控制 |
---|---|
git rm -r --cached . | 刪除所有檔案 |
git rm --cached [檔案1] [檔案2] [檔案N] | 刪除指定檔案 |
git rm -r --cached [目錄1] [目錄2] [目錄N] | 刪除指定目錄 |
示例: git mv
命令 | 說明:重新命名工作區檔案或移動工作區目錄 |
---|---|
git mv [舊檔案] [新檔案] | 重新命名檔案 |
git mv -f [舊檔案] [新檔案] | 若新檔名已存在,還要繼續重新命名舊檔案,則用 -f 強制重新命名,並將原已存在檔案覆蓋 |
git mv [目錄] [父目錄] | 移動目錄 |
示例: git log
命令 | 說明:檢視歷史提交記錄 |
---|---|
get log | 檢視歷史提交記錄,按 ↓ 鍵繼續顯示歷史記錄,直至顯示END表示最後一條記錄,按 q 鍵退出 |
示例: touch .gitignore
#將不需要跟蹤的檔案新增到忽略列表,檢視檔案狀態時忽略此檔案
#忽略指定的型別檔案:忽略txt檔案
*.txt
#不忽略指定型別中的某個檔案:git.txt
!git.txt
#忽略指定檔案:git.md
git.md
#忽略指定目錄:a
a/
#忽略指定目錄下指定的型別檔案:b目錄下的class檔案
b/*.class
...
Git 遠端庫操作
命令 | 說明 |
---|---|
git clone [遠端倉庫地址] | 預設配置下,遠端倉庫中的每一個檔案的每一個版本全部拉取下來(預設別名 origin) |
git remote | 檢視遠端倉庫別名(若克隆遠端倉庫,預設別名 origin) |
git remote -v | 檢視遠端倉庫 |
git remote show [倉庫名] | 檢視指定倉庫詳細資訊, |
git remote add [倉庫名] [遠端倉庫地址] | 新增遠端倉庫,一個本地倉庫可新增多個遠端倉庫 |
git remote rm [倉庫名] | 移除無效遠端倉庫(移除本地倉庫與遠端倉庫的關聯,不影響遠端倉庫) |
git fetch [倉庫名] | 從遠端倉庫中抓取,不自動合併資料(資料以二進位制形式存放在 .git/objects 目錄下) |
git merge [倉庫名]/[分支名] | 將從遠端倉庫中抓取的資料與本地資料合併 |
git pull [倉庫名] [分支名] | 從遠端倉庫中拉取,自動合併資料 |
git pull [倉庫名] [分支名] --allow-unrelated-histories | 從遠端倉庫中拉取,自動合併資料 並解決因當前倉庫不是從遠端倉庫克隆,且倉庫中存在檔案導致的報錯 |
git push [倉庫名] [分支名] | 從本地倉庫推送到遠端倉庫 |
Git 分支操作
命令 | 說明 |
---|---|
git branch | 列出所有本地分支 |
git branch -r | 列出所有遠端分支 |
git branch -a | 列出所有本地分支和遠端分支 |
git branch [分支名] | 建立本地分支(以當前分支為基礎複製一份) |
git checkout [分支名] | 切換本地分支 |
git merge [分支名] | 合併本地分支(將該分支合併到當前分支) |
git push [倉庫名] [分支名] | 將本地分支推送到遠端倉庫 |
git branch -d [分支名] | 刪除本地分支 |
git branch -D [分支名] | 刪除本地分支(若該分支有修改操作則需 -D) |
git push [倉庫名] -d [分支名] | 刪除遠端分支 |
Git 標籤操作
命令 | 說明 |
---|---|
git tag | 列出所有本地標籤 |
git show [標籤名] | 檢視本地標籤 |
git tag [標籤名] | 建立本地標籤 |
git push [倉庫名] [標籤名] | 將本地標籤推送到遠端倉庫 |
git checkout -b [分支名] [標籤名] | 新建一個分支,指向某個遠端倉庫標籤 |
git tag -d [標籤名] | 刪除本地標籤 |
git push [倉庫名] :refs/tags/[標籤名] | 刪除遠端標籤 |
配置SSH協議
命令 | 說明 |
---|---|
ssh-keygen -t rsa | 在 /c/users/使用者名稱/.ssh 目錄下生成兩個 id_rsa 檔案,有pub字尾的為公鑰,另一個為私鑰 將公鑰內容複製,新增到 Git 平臺中,此時可使用 SSH 協議的地址傳輸資料 |