---
# System prepended metadata

title: Git開分支、同步順序 (更新在notion，請以notion為主)

---

# Git開分支、同步順序 (更新在notion，請以notion為主)

前情提要:
下面這張圖為邏輯簡介，我懶得打，有問題問我再補

- 單字介紹:
fetch 獲取
clone 克隆
branch 分支
merge 合併

![](https://i.imgur.com/sRIKpjI.png)



### 事前準備
先在Github Desktop中Clone這支儲藏庫，並在這兒create一個自己名字的分支(branch)
https://github.com/DahisC/Amigo-TravelerMap

## 把Github上的檔案同步下本地
### Step 1 將**main分支**中的檔案同步到我分支中-->fetch
1. 點擊右上角fetch
2. 將branches從main改回自己的分支(origin/one-jaiy)
    - 注意:點開 Current Branch (第一張照片)，先點選到自己的branch，再送出
3. 按確定(choose a branch to merge into one-jaiy)
### Step 2 將我分支中的檔案同步到我本地端-->merge
1. 點擊中間按鈕 Current branch，選自己的分支
![](https://i.imgur.com/O7zgwX6.png)
這是有衝突的意思(conflicted)，依然可以merge下來，再解決衝突點。此狀況發生時，建議先不要merge，先跟Dahis討論過後行動。
![](https://i.imgur.com/1ad7jDT.png)

## 把本地上的檔案同步上Github
### Step 1 將我本地端的檔案同步到我分支中-->commit+push
1. commit:確認中間有改動的地方無誤後，在左下角寫上本次改動重點，按下commit將資料打包
    - 注意:左下角commit前，先確定中間Current Branch 是自己的分支！

![](https://i.imgur.com/LGIhm7a.png)

2. Push:資料被打包後準備上傳至自己Github的分支中，按下右上角的Push origin將資料上傳，Push後要再按一下Fetch oringin，讓Github獲取資料
    - 如果你克隆了一個版本庫， clone 命令會自動增加一個「origin」來代表遠端版本庫； 所以，git fetch origin 會獲取（fetch）在你克隆（或者最後一次獲取）之後任何被推送到伺服器上的新的工作內容。
![](https://i.imgur.com/8B3XM06.png)

### Step 2 將我分支中的檔案同步到**main分支**中

1. 按下 Create Pull Request後，自動打開Chrome版本Github頁面如下圖二
![](https://i.imgur.com/8B3XM06.png)



![](https://i.imgur.com/mVNB0eX.png)
2. 確定頁面中資訊與剛剛commit中寫的一樣，看到最右邊的Reviewers > Suggestions，點開齒輪選Dahis為Code審核者
3. 按下Create Pull Request ，頁面長這樣沒報錯就大功告成
![](https://i.imgur.com/T7JHaS6.png)




[Github中文說明可參](https://git-scm.com/book/zh-tw/v2/Git-%E5%9F%BA%E7%A4%8E-%E8%88%87%E9%81%A0%E7%AB%AF%E5%8D%94%E5%90%8C%E5%B7%A5%E4%BD%9C)