抱歉,您的瀏覽器無法訪問本站
本頁面需要瀏覽器支持(啟用)JavaScript
了解詳情 >

利用git工具實現GitHub遠程倉庫與本地倉庫之間的同步非常重要。如果本地沒有倉庫,這樣可以直接遠程git clone,這是保持同步最簡單的方法;但是如果本地有倉庫並且是多端同步的方式,就不能簡單通過git clone實現。在這裡簡單說明我遇到的情形:
遠程倉庫最新,本地倉庫落後幾個版本:

git fetch方式

在本地倉庫下拉取最新版本,並且請求合併:

1
2
3
git fetch origin        # 拉取最新版本
# git status # 檢查是否是最新版本(一般顯示"Your branch is up to date with 'origin/main'"則是最新版本)
git merge origin/main # 請求合併

這樣就實現了本地代碼庫保持最新版本。

這裡的git status的作用是檢查是不是最新,防止出現衝突。另外還能通過git log查看提交歷史記錄檢查是否衝突:

1
2
git log -1                # 本地倉庫最新1條提交
git log origin/main -1 # 遠程倉庫最新一條提交

查看代碼差異:git diff

1
git diff HEAD origin/main     # 比較本地與遠程倉庫差異,無輸出代表完全同步

git pull方式

git pull不推薦使用,因為他是一步操作,拉取的同時合併,不能提前檢查是否存在衝突:

1
git pull origin main

2025.06.08更新:

git 強制回退到某個版本

1
2
3
4
5
6
7
8
# 首先獲得git log的提交id(commit 後面的代碼)
git log

# 然後選擇你要回退的版本進行強制回退
git reset --hard c8461e98d220a292c96f5b2ff33a57cbe1a67c88

# 強制提交
git push -f -u origin main

另外還有一種更安全的方法,好處是保留提交記錄

1
2
3
4
5
6
7
git log

# 撤銷指定提交(生成一個新的反向提交)
git revert c8461e98d220a292c96f5b2ff33a57cbe1a67c88

# 正常推送(無需強制)
git push origin main

macOS的github金鑰在終端ssh連接老是顯示無權限

經過一番尋找發現是沒執行ssh-add導致的

1
2
3
4
5
# 臨時解決方法,但是每次重啟mac都會失效
ssh-add ~/.ssh/github_rsa

# 對於macOS來說,終極解決方法
ssh-add --apple-use-keychain ~/.ssh/github_rsa

評論



Powered by Hexo | Theme keep Volantis

本站總訪問量 總訪客數 🌎