99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

repo進階-創新互聯

repo 托管進階

前文講述 repo 命令詳解,從實踐中來理論 又到實踐中去。仔細研究會發現,可將重復工作交給 repo 實現,接下來簡單講講兩種場景簡單應用。

創新互聯建站是專業的洋縣網站建設公司,洋縣接單;提供網站制作、成都網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行洋縣網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

文章目錄
  • repo 托管進階
  • repo 操作
  • 1. repo 鏡像倉變更
    • 1.1 鏡像倉變更原理
    • 1.2 鏡像倉變更示例
  • 2 repo 拉取制定分支更新
    • 2.1 編寫代碼同步腳本
    • 2.2 同步所有代碼倉
  • 總結


repo 操作

a) repo 鏡像倉變更
b) repo 更新代碼倉


1. repo 鏡像倉變更

Gerrit 管理源碼托管服務器難免發生故障,必要時需要數據遷移到另外一臺服務器。此時 gitolite 可能需要重構,代碼倉路徑則會發生變更;重新同步代碼時間過長,能否在原基礎上切換代碼倉? 當然可以。

1.1 鏡像倉變更原理

每個代碼倉通過切換 remote url 方式,可實現同步遠程倉變更;從單個倉延拓到全部倉即可彎沉代碼倉變更。

git remote set-url origin_name url_name

借助 Gerrit 執行腳本方式,協助完成

repo forall -c xxx.sh
1.2 鏡像倉變更示例

如果僅僅是代碼托管服務區變更或者 gitolite 路徑變更,簡單編寫篩選倉庫源名并替換相關 URL 腳本 url_change.sh。
例如原來代碼倉路徑 git@192.168.17.24:356x-r/xxxx 變更為 git@192.168.14.38:rk356x-r
簡單編寫腳本 即可實現代碼遷移。

#!/bin/bash
# *********************** #
# Author by Sanle
# *********************** #

URLA='git@192.168.17.24:356x-r'
URLB='git@192.168.14.38:rk356x-r'

if echo "$(git remote get-url $(git remote))" | grep -qwi $URLA ; then
    remote_path=$(git remote get-url $(git remote) | awk -F $URLA '{print $2 }')

    git remote set-url $(git remote) $URLB$remote_path
    echo remote set-url $(git remote) $URLB$remote_path
fi
exit 0

啟動 repo 執行腳本,等待執行完成即可完成代碼倉遷移。

cd 356x-android11
.repo/repo/repo forall -c ~/356x-android11/url-change.sh
2 repo 拉取制定分支更新

代碼同步時偶爾會出現代碼倉遺漏或者代碼倉更新不及時,編譯時輕則功能缺失;重則編譯失敗,查找原因費時費力不說,還影響敲鍵盤的心情。如何快速精準實現代碼更新呢? 推薦使用 repo 同步

2.1 編寫代碼同步腳本

以 rk3568 android 為例,同步代碼分支名為 demo。

touch repo_sync.sh
chmod +x repo_sync.sh
vi repo_sync.sh

#!/bin/bash
if [ -z "$1" ]; then
	rd_branch=("demo")
else
	rd_branch=($1)
fi
rd_remote=("aosp" "rk" "rk29")

remote=$(git remote)
echo `pwd`
git fetch $remote

for _remote in ${rd_remote[@]}
do
    if [ "$_remote" == "$remote" ]; then
        for branch in ${rd_branch[@]}
        do
            if [ ! -z  "$(git branch -r --list $remote/$branch)" ]; then
                echo "$remote-->$branch"
		if [ -z "$(git branch $branch --contains)" ]; then
			git checkout -t $remote/$branch
		else
			if ! echo "$(git branch | grep '\*')" | grep -qwi "$branch" ; then
				git checkout $branch
				if [ $? -ne 0 ]; then
					exit $?
				fi
			fi
			git pull $remote $branch
		fi
            fi
        done
    fi
done

exit 0
2.2 同步所有代碼倉

單倉執行 repo_sync.sh 可實現代碼倉同步制定分支,借助 repo forall 命令將所有代碼倉執行一次腳本即可實現代碼倉同步。

# 等待完成后,所有倉庫同步完成,并切換到 demo 分支
.repo/repo/repo forall -c ~/rk3568-s/repo_sync.sh demo
總結

從實踐中來,到實踐中去。

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

標題名稱:repo進階-創新互聯
網頁鏈接:http://www.yijiale78.com/article48/cdpchp.html

成都網站建設公司_創新互聯,為您提供建站公司、搜索引擎優化、網站建設、做網站、手機網站建設、Google

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司