====== Gitlab to GitHub 設定方式 ====== 因為需要將 GitLab 特定專案與 GitHub 特定專案進行同步, 因此將設定過程記錄在以下, 目前同步情境是 GitLab 如果有 push 就會自動 push 到 GitHub 上. * 預計將 GitLab 上的 php-templ-verify-prj 專案 與 GitHub 上的 php-app-pipeline-template 進行同步 - 在 GitLab 的 php-templ-verify-prj 專案設定頁面進行設定 Settings -> Repository -> Mirroring repositories [Expand] 展開 - Git repository URL 輸入 GitHub 的網址, 不過在 https:/ / 後要加上 GitHub 帳號 Exp: https://tryweb@github.com/iii-org/php-app-pipeline-template.git - Mirror direction : Push - Authentication method : Password - Password : 輸入 GitHub 帳號的密碼 - 按下 [Mirror repoitory] 後完成設定 * {{:tech:20210203_01.png}} * 如果一切都正確, 可以點選同步符號進行同步 {{:tech:20210203_02.png|}} * 之後在 GitLab 上的 push 就可在 GitHub 上看到 {{:tech:20210203_03.png|}} ==== Q1. 原本 GitHub 已有資料 ==== - 先將 GitHub 的專案 clone 到本地的工作目錄內 - 修改這目錄內的 .git/config 內的 URL 由原本的 GitHub 網址改為 GitLab 網址, Exp. [core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [remote "origin"] url = http://gitlab-demo.iiidevops.org/root/php-app-pipeline-template.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master - 再執行一次 push 到 GitLab 就會兩邊一致, 此時進行同步才會正確 ===== 參考網址 ===== * https://docs.gitlab.com/ee/user/project/repository/repository_mirroring.html {{tag>gitlab github k8s}}