---
# System prepended metadata

title: "Git \U0001F4DD"
tags: [Git, 待補充, GitHub]

---

# Git 📝
###### tags: `待補充` `Git`
> 只會 git add . 和 git push 是不能稱作會 Git 的喔 🙂

### init 初始化
```javascript=
// 初始化（在你的專案中加入 Git）
$ git init
```
### Commit 提交
```javascript=
$ git commit // enter 後會開啟 vim
$ git commit -m 註解
```
### Add
```javascript=
$ git add 檔案名
// 選擇全部檔案
$ git add .
```
### Branch 分支
> 非常不佔空間 指向 commit ref？？？
```javascript=
// 建立 develop 分支
$ git branch develop

// 切換到 develop 分支
$ git checkout develop

// * 建立 + 切換 branch
$ git checkout -b develop

// 顯示分支列表
$ git branch

// 刪除分支
git branch -d develop
```
### Merge 合併
```javascript=
// 合併 develop 分支到 main
$ git merge develop
```

### Rebase 合併（線性）
![](https://i.imgur.com/VD5ZR67.png)

### Reset
### Revert

### Git Graph 檢視 Git 歷史
https://www.gushiciku.cn/pl/gadY/zh-tw
---
# GitHub
###### tags: `GitHub`
#### 使用 `gh-pages` 快速架設 GitHub Page
> 會將打包的檔案存放在 gh-pages 的分支裡。
```javascript=
// 安裝 gh-pages 套件
$ npm install --save gh-pages
```
> 在 package.json 新增設定
```json=
// 新增專案名稱（name） 專案網址（homepage）
{
  "name": "myApp",
  "homepage": "https://myusername.github.io/my-app",
}

// script 屬性中添加指令
{
  "scripts": {
    "predeploy": "npm run build",  // 自動打包
    "deploy": "gh-pages -d build",
  }
}
```
```javascript=
// 自動發布啦！
$ npm run deploy
```
