此功能由 ayaka-notes/ayakaleaf-pro 開發,並由 yu-i-i/overleaf-cep 修改。此功能自 v6.2.0 起推出,目前仍處於 Beta 階段。如果您遇到任何問題,歡迎提供回饋。




設定 GitHub 同步
前往開發者設定建立您的 GitHub OAuth 應用程式,並複製您的CLIENT_ID 與 SECRET。
注意:您的 OAuth 回呼 URL 為:${OVERLEAF_SITE_URL}/user/github-sync/oauth2/callback。
接著,將以下設定加入您的 Overleaf 環境變數檔案。
config/variables.env
GITHUB_SYNC_PROXY_URL=http://10.0.0.1:10808。請確保您使用代理伺服器的行為符合當地法律法規。
GitHub Enterprise
GitHub Enterprise 支援自 v6.3.1 起推出。較早的版本只能連線至
github.com,下方的變數不會生效。github.com。若要使用 GitHub Enterprise Server(自行託管)或具資料落地(data residency)功能的 GitHub Enterprise Cloud(GHE.com),請將 GITHUB_SYNC_URL 設為您執行個體的網頁位址,也就是您在瀏覽器中開啟儲存庫時使用的位址。
config/variables.env
GITHUB_SYNC_URL 推導而來:
只有當您的執行個體在其他位置提供 API 端點時(例如位於 API 閘道之後),才需要設定這些端點:
如果您的執行個體使用由私人 CA 簽發的憑證,請將該 CA 憑證掛載到容器中,並將
NODE_EXTRA_CA_CERTS 指向它,例如 NODE_EXTRA_CA_CERTS=/var/lib/overleaf/certs/github-ca.pem。已連結的帳號與專案隸屬於當初連結時所使用的執行個體。在將
GITHUB_SYNC_URL 切換至其他執行個體之前,請先要求使用者解除其 GitHub 帳號與專案的連結。誰可以連結與同步
與 Overleaf Cloud 相同,只有專案擁有者可以將專案連結至 GitHub 儲存庫。連結完成後,每位具有編輯權限的協作者都可以進行同步。- Overleaf 會使用執行同步之使用者的 GitHub 帳號與 GitHub 溝通,因此每位執行同步的協作者都需要連結自己的 GitHub 帳號,且必須具有推送至該儲存庫預設分支的權限。
- 僅具檢視權限的協作者無法對該專案使用 GitHub 同步。
Q&A
我可以強制推送至預設分支嗎?
我可以強制推送至預設分支嗎?
回答:我們不建議這麼做。Overleaf 會偵測強制推送並發出警告,接著接手被改寫的分支,並合併自上次同步以來在 Overleaf 中所做的變更。為避免意外,請在儲存庫設定中保護預設分支,防止強制推送。
我可以重新命名已連結專案的預設分支嗎?
我可以重新命名已連結專案的預設分支嗎?
回答:請不要這麼做。Overleaf 會持續與專案連結時的分支同步。若要與其他分支同步,請先解除專案連結,再將儲存庫匯入為新專案,新專案會使用目前的預設分支。

