(一)獲取對方私庫程式碼並上傳到自己的gitlab
步驟 1: 克隆對方的私有倉庫
首先,您需要在本地計算機上克隆對方的私有倉庫。這通常需要使用HTTPS或SSH URL,並且可能需要身份驗證(如使用者名稱和密碼、SSH金鑰等)。
# 假設您已經配置了SSH金鑰或知道HTTPS的使用者名稱和密碼 git clone https://center.javablade.com/blade/BladeX-Links.git upstream-repo # 或者使用SSH(如果可用) # git clone git@center.javablade.com:blade/BladeX-Links.git upstream-repo # 進入倉庫目錄 cd upstream-repo
步驟 2: 將克隆的倉庫新增為上游遠端倉庫(如果尚未命名)
如果您在克隆時沒有使用origin
作為遠端倉庫的名稱(通常Git會預設使用origin
),則可能需要重新命名它以避免混淆。但在這個例子中,我們將其命名為upstream
以明確其用途。
# 如果遠端倉庫已經命名為origin,並且您想保留它用於其他目的,則執行以下操作 git remote rename origin upstream
步驟 3: 將您的Git伺服器倉庫新增為遠端倉庫
現在,您需要將您自己的Git伺服器倉庫新增為遠端倉庫,以便您可以將更改推送回去。
# 假設您的Git伺服器倉庫URL是git remote add origin http://192.168.2.204/bladeiot/bladex-links.git git remote add origin http://192.168.2.204/bladeiot/bladex-links.git # 驗證遠端倉庫列表 git remote -v
步驟 4: 將上游倉庫的內容推送到您的Git伺服器
由於您的Git伺服器上的倉庫是空的,您可能需要將上游倉庫的所有分支和標籤都推送到您的Git伺服器。但是,通常只推送main
(或master
)分支就足夠了,除非您還需要其他分支或標籤。
# 推送main分支(或上游倉庫中的主分支名稱) git push -u origin master # 如果您還需要推送其他分支或標籤,請相應地執行命令 # git push origin <branch-name> # git push origin --tags
步驟 5: 在您的Git伺服器上建立開發分支
在本地建立開發分支,然後將它推送到Git伺服器。
# 在本地建立開發分支 git checkout -b jw-dev-branch # 將開發分支推送到Git伺服器 git push -u origin jw-dev-branch
此時使用使用git branch 檢視分支情況:
表示當前有兩個分支,且當前處於master主分支上
(二)從對方私庫更新程式碼到自己gitlab
當對方修改後,將對方的修改更新到自己的伺服器上。
快捷操作(將上游主分支master更新內容更新到自己伺服器主分支master,即遠端上游->本地->伺服器):
git checkout master
git fetch upstream
git merge upstream/master
git push origin master
詳細步驟說明:
1、切換主分支
進入需要更新的upstream資料夾,切換主分支(如果已經在主分支,則跳過該步驟)。
切換到 master
分支,以便從遠端倉庫拉取最新的更改。
git checkout master
確保已正確配置遠端倉庫
透過 git remote -v
檢查你的遠端倉庫配置:
origin http://192.168.2.204/bladeiot/bladex-links-ui.git (fetch) origin http://192.168.2.204/bladeiot/bladex-links-ui.git (push) upstream https://center.javablade.com/blade/BladeX-Links-UI.git (fetch) upstream https://center.javablade.com/blade/BladeX-Links-UI.git (push)
2、拉取 upstream
的最新程式碼
從 upstream
倉庫拉取更新到本地分支:
git fetch upstream
如果提示授權失敗,則多執行幾遍,如果跳轉到瀏覽器,則會提示成功。
正常情況下,第一次執行拉取命令時(例如 git fetch upstream
),Git 會提示輸入使用者名稱和密碼。輸入後會自動儲存。
如果多嘗試幾次還是有問題可以先清除舊的認證資訊再重新執行:
git credential-cache exit
git fetch upstream
3、檢視拉取的更新內容
拉取成功後,可以用以下命令檢視更新的內容:
git log upstream/master --oneline
日誌沒有顯示完全,可以按回車檢視,直到顯示<end>,此時可以輸入q退出
以下是分頁器一些常用操作鍵:
- 空格鍵:向下翻一頁。
- Enter鍵:向下翻一行。
- b:向上翻一頁。
- k:向上翻一行。
- g:跳到檔案開頭。
- G:跳到檔案末尾。
或者檢視與當前本地分支的差異:
git diff master upstream/master
4、合併 upstream
的更新到本地分支
如果你當前的分支是 master
,可以將 upstream/master
的更新合併到本地:
git merge upstream/master
如果有衝突,Git 會提示衝突的檔案,需要手動解決衝突。
5. 同步更新到你的伺服器
將合併後的更新推送到你的伺服器 origin
:
git push origin master
6. 更新其它分支(如果需要)
如果需要更新其它分支,也是按照一樣的步驟:
// 比如更新dev分支,先切換到 dev 分支 git checkout dev // 合併 upstream/dev git merge upstream/dev // 推送到伺服器 git push origin dev
7. 同步Tag(如果需要)
如果需要將 upstream
的 Tags 也同步到伺服器,可以推送 Tags:
git push origin --tags
(三)主分支合併到開發分支
1、切換到您的開發分支
拉取完 master
分支的最新更改後,切換到您的開發分支 jw-dev-branch
。
git checkout jw-dev-branch
2、將主分支的更改合併到您的開發分支
git merge master