差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
| tech:git_cli [2025/06/06 16:43] – 2. 合併分支檔案衝突批次處理 jonathan | tech:git_cli [2025/08/19 09:05] (目前版本) – [FAQ] 4. 誤將某個目錄納入 git 管理, 之後加入 .gitignore 的作法 jonathan | ||
|---|---|---|---|
| 行 2: | 行 2: | ||
| ===== FAQ ===== | ===== FAQ ===== | ||
| + | === 0. 基本設定 === | ||
| + | - 設定將帳號與 Token 存寫到 store 上< | ||
| + | git config --global credential.helper store | ||
| + | </ | ||
| + | * 這會把帳密(或 Token)以明文的方式儲存在 ~/ | ||
| + | - 設定 commit 的基本資訊< | ||
| + | git config --global user.name " | ||
| + | git config --global user.email " | ||
| + | </ | ||
| + | * 這會寫入到 ~/ | ||
| + | |||
| === 1. 讓本地端同步刪除遠端已不存在的分支 === | === 1. 讓本地端同步刪除遠端已不存在的分支 === | ||
| - 透過 git branch -a 可以看到有 remotes/ | - 透過 git branch -a 可以看到有 remotes/ | ||
| 行 17: | 行 28: | ||
| === 2. 合併分支檔案衝突批次處理 === | === 2. 合併分支檔案衝突批次處理 === | ||
| - 假設由 develop 分支合併入 master 後一些檔案出現衝突, | - 假設由 develop 分支合併入 master 後一些檔案出現衝突, | ||
| - | - 在 repo 目錄執行< | + | - 在 repo 目錄執行< |
| - | - 然後執行: | + | - 然後執行: |
| + | |||
| + | === 3. 希望將 master 分支備份至 gemini, 然後將 develop 分支完全取代 master 分支的作法 === | ||
| + | == Step A:備份現有的 master 分支 == | ||
| + | - bash# 切換到 master 分支 < | ||
| + | - 創建 gemini 分支作為 master 的備份< | ||
| + | - 推送 gemini 分支到遠端< | ||
| + | == Step B:用 develop 完全取代 master == | ||
| + | - bash# 切換到 develop 分支< | ||
| + | - 確保 develop 是最新的< | ||
| + | - 刪除本地的 master 分支< | ||
| + | - 基於 develop 創建新的 master 分支< | ||
| + | - 強制推送新的 master 到遠端(會完全覆蓋原有的 master)< | ||
| + | |||
| + | === 4. 誤將某個目錄納入 git 管理, 之後加入 .gitignore 的作法 === | ||
| + | * 以 .bmad-core 這目錄為例< | ||
| + | git ls-files | grep .bmad-core | ||
| + | git rm -r --cached .bmad-core/ | ||
| + | git commit -m " | ||
| + | git rm -r --cached . | ||
| + | git add . | ||
| + | git commit -m " | ||
| + | git status | ||
| + | </cli> | ||
| {{tag> | {{tag> | ||