---
# System prepended metadata

title: git筆記

---

# git筆記
## 基本 command 指令
1. 移動路徑：cd 路徑 

2. 回上一層：cd ..

3. 展開列表：ls 

4. 開新資料夾： mkdir 資料夾名稱 

5. 開新檔案： touch 檔案名稱 

## 流程
![](https://i.imgur.com/NfPRKXA.png)

## git基礎設定
* 查詢版本
git version
* 查詢設定列表
git config --list
* 輸入姓名
git config --global user.name "你的名字"
* 輸入email
git config --global user.email "你的email"

## 新增本地/遠端數據庫
* 在本地資料夾新增數據庫
git init
* 複製遠端數據庫
git clone 遠端數據庫網址

## 增加/刪除檔案
* 增加檔案進入索引
git add [filename]
* 增加全部檔案進入索引
git add .
* 查詢狀態
git status
* 顯示歷史紀錄
git log
* 將索引提交到數據庫(m是msg的意思)
git commit -m [message] 

## 還原指令
* 還原工作目錄與索引，會跟最後一次 commit 保持一樣
git reset --hard 
* 全部檔案取消索引
git reset HEAD 
* 單一檔案取消索引
git reset HEAD 檔案名稱 
* 恢復單一檔案到最新 commit 狀態
git checkout 檔案名稱 
* 刪除最近一次 commit 
git reset --hard HEAD^ 
* 上面語法如果刪除錯了可以再用此語法還原
git reset --hard ORIG_HEAD 
* 如果代碼沒有變，改寫上一次的msg
$ git commit --amend -m [message]
* 重做上一次commit
git commit --amend [file1] [file2]

## 分支
* 顯示所有本地分支
git branch
* 新增分支
git branch 分支名稱
* 切換分支
git checkout 分支名稱
* 合併指定分支到目前的分支
git merge 分支名稱
* 刪除分支
git branch -d 分支名稱

## 標籤
* 查詢標籤
git tag
* 查詢詳細標籤
git tag -n
* 刪除標籤
git tag -d 標籤名稱
* 新增標籤
git tag 標籤名稱
* 新增標示標籤
git tag -am "備註內容" 標籤名稱

## 暫存
* 暫時儲存當前目錄
git stash
* 瀏覽 stash 列表
git stash list 
* 還原暫存
git stash pop
* 清除最新暫存
git stash drop
* 清除全部暫存
git stash clear


--------


git config --global --add safe.directory "*"


