====== 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}}