📌 Introduction
希望可以將 Quip 備份下來的檔案自動、定期上傳到 GitLab 上。但是遇到公司的 GitLab 需要兩階段登入驗證,經過上網尋找解法後,得到用 “access token” 的方法,其實也可以使用 SSH Key,但是公司的 GitLab 好像沒有開放這個功能。
作法
A. 設定 “access tokens“
1. 前往 “access tokens” 的設定頁面
網址:https://gitlab.com/-/user_settings/personal_access_tokens
2. 新增 token
3. 允許讀取與寫入專案的權限
4. 複製 token
B. 拉取 GitLab 上的專案
git clone https://oauth2:<YOUR_ACCESS_TOKEN>@gitlab.com/your_username/your_project.git
範例:
git clone https://oauth2:[email protected]/your_username/your_project.git
C. 推送到 GitLab 上
git push origin <branch_name>
補充
這邊補充說明由 ChatGPT 產生的自動備份腳本:
#!/bin/bash
# 設定要備份的資料夾的路徑
PROJECT_DIR="folder"
cd $PROJECT_DIR || { echo "資料夾不存在!"; exit 1; }
# 取得當前的時間作為推送的描述
DATE=$(date +"%Y-%m-%d %H:%M:%S")
# 切换到 'test-branch' 分支(如果不存在則创建立)
git checkout test-branch 2>/dev/null || git checkout -b test-branch
# 下載最新程式碼,防止版本內容衝突
git pull origin test-branch --rebase
# 新增所有內容
git add .
# 上傳更改
if git diff --staged --quiet; then
echo "没有要上傳的更改。"
else
git commit -m "Auto-backup: $DATE"
git push origin test-branch
echo "備份成功上傳到 'test-branch' 分支,時間: $DATE"
fi
結論
學到如何用 Access Token 來拉取及推送專案到 GitLab 上。