---
# System prepended metadata

title: 筆記｜git
tags: [學習筆記, git]

---

## 基礎操作
### 初始化與加入遠端數據庫
- `cd`：前往資料夾。
- `git init`：建立本地端數據庫。
- `tocuh`：建立檔案。
- `git add .`：將所有新增檔案加入索引。
- `git commit -m "自行輸入事由"`：提交檔案至本地端數據庫。
- `git status`：檢視當前狀態。
- `git remote add origin 遠端數據庫`：加入遠端數據庫。
- 可開啟 config 檔，檢視是否有加入遠端數據庫。
- `git branch -M main`：將目前所在的分支名稱強制改為 `main`。
- `git push -u origin main`：把 `main` 分支推送到遠端 `origin`（遠端代號），並設定追蹤關係。
### 後續更新
- `git add .`：將所有新增檔案加入索引。
- `git commit -m "自行輸入事由"`：提交檔案至本地端數據庫。
- `git push`：推送至遠端數據庫。

### git push -u origin main 說明

#### 有加 -u（已設定 upstream，表示本地分支與遠端分支的關聯）
- 之後只要輸入：
```
git push
git pull
```
Git 就知道你本地的 main 要對應到遠端 origin/main。

#### 沒加 -u（沒設定 upstream）
- Git 不知道「本地分支 → 遠端分支」的對應關係，之後每次推送或拉取都要明確指定：
	
```
git push origin main
git pull origin main
```

#### 總結
- `-u` 可省去 **每次都打遠端和分支名稱** 的麻煩。
- 如果不輸入 `-u`，並不影響結果，只差在指令的多寡。

## 數據庫

### 將本地端數據庫推至 GitHub
- `git remote add <遠端數據庫 url>`：加入遠端數據庫。
- `git branch -M main`：將目前所在的分支名稱強制改為 main。
- `git push -u origin main`：把 `main` 分支推送到遠端 `origin`（遠端代號），並設定追蹤關係。

### 專案中可加入多個數據庫
- `git remote add 自定義名稱 遠端數據庫 url`
	- 修改數據庫代號。

### 下載遠端數據庫資料 / 建立全新副本
- `git clone`：建立全新副本（與當前專案無關）。

### 將本地端資料，更新至遠端數據庫
- `git push origin master`：更新至遠端數據庫。
	- `origin`：自定義遠端代號。
	- `master`：自定義分支名稱。
	- 兩者都是自定義名稱，故不同情境下，名稱可能不同。

### 將遠端數據庫進度，更新至本地端專案
- `git pull`：將遠端數據庫資料，更新至本地端專案。

## 資料來源
* [Git & GitHub 教學手冊](https://w3c.hexschool.com/git/cfdbd310)