---
# System prepended metadata

title: Git使用

---

# Git 使用
### 一. 使用 Git 將全部檔案推送到 GitHub：

假設你已經在本地機器上安裝了 Git，並且你有一個 GitHub 帳戶。以下是將本地檔案推送到新的 GitHub 儲存庫的步驟：

1. 在 GitHub 上創建一個新的儲存庫（Repository）。

2. 打開CMD，並切換到你想要推送的本地端的資料夾目錄。
```
cd "資料夾路徑"
```
3. 初始化 Git 儲存庫。在你的命令提示字元中輸入以下命令：
```
git init
```
4. 連接遠端的Repository (Github 該倉庫頁面上有一個可複製的)
```
git remote add origin https://github.com/您的用户名/倉庫名.git
```

5. 新增所有的檔案到新創建的 Git 儲存庫。輸入以下命令：
```
git add .
```
6. 提交（commit）你的更改。這裡的 "Initial commit" 是提交訊息，你可以根據需要更改它：
```
git commit -m "想提示的字"
```
7. 推送至Github
```
git push -u origin main
```

- 若遇到error

![image](https://hackmd.io/_uploads/S1KO2_tbR.png)
> 錯誤訊息 "fatal: refusing to merge unrelated histories" 指示 Git 拒絕合併兩個沒有共同歷史的分支。這通常發生在當您的本地倉庫和遠端倉庫被視為開始於不同起點的情況下，可能是因為它們是分別獨立初始化的。
#### 解決方案: 為了解決這個問題，您可以使用
1. 需要先從 GitHub 拉取最新的更改，合併這些更改到您的本地分支，然後再次嘗試推送
```
git pull origin main
```


2. --allow-unrelated-histories : 強制合併這兩個歷史記錄沒有關聯的分支
```
git pull origin main --allow-unrelated-histories
```
2. 解決所有衝突之後，使用以下命令將修改後的檔案新增至 Git：
```
git add .
```
3. 然後提交這些更改：
```
git commit -m "Resolve merge conflicts from pull"
```
4. 再次嘗試推送到遠端倉庫
```
git push origin main
```
---


### 二. 上傳部分檔案到github
```
git add modified_file.py
```
```
git commit -m "Fix an issue in modified_file.py"
```
```
git push origin main
```

### 三. 抓取github上最新的資料到本地端
1. 進入該資料夾
    `cd 路徑到您的專案資料夾`
2. 拉取最新的更改下來
    `git pull origin main`
3. 完成，就可以繼續進行開發
    `git add .`
    `git commit -m "您的提交信息"`
    `git push origin main`
    
### 四. 在 GitHub 上設定 Secrets
> 確保帳密不被看到
1. 在 GitHub 倉庫頁面，點選「Settings」（設定）
2. 點選Secrets and variables 中的 Actions
3. 點選“New repository secret”
4. 輸入“Name”（名稱，例如 LINE_TOKEN）和“Value”（值，您的秘密資訊），然後儲存


### 五. 使用 GitHub Actions 自動化
1. 建立 GitHub Actions 設定檔： 
> 在您的專案中建立 .github/workflows 資料夾。 在該資料夾中建立一個 YAML 文件，例如 workflow.yml，並開始撰寫:

[範例]

```
name: Weather Report Scheduler

on:
  schedule:
    - cron: '0 */4 * * *'  # 每4小時運行一次
  workflow_dispatch:  # 允許手動觸發

jobs:
  run_weather_script:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: '3.8'  

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt

      - name: Run the weather report script
        env:
          LINE_TOKEN: ${{ secrets.LINE_TOKEN }}
        run: python weather.py

```
2. 提交並push到 Actions 中去配置
```
git add .github/workflows/workflow.yml
```
```
git commit -m "Add GitHub Actions workflow"
```
```
git push origin main        # 推送更改到 GitHub：
```

3. 監控 Actions 運行
> 在 GitHub 倉庫中，切換到「Actions」標籤查看工作流程運行情況和日誌。