編寫一個自動合并代碼到不同分支的腳本小工具

新建一個 autoMerge.sh 的文件,文件內容如下


# 提示用戶確認繼續執行
read -p "確認要執行腳本嗎?(輸入 'yes' 繼續): " userInput# 檢查用戶輸入是否為 "yes"
if [ "$userInput" != "yes" ]; thenecho "用戶取消了操作,腳本已終止。"exit 1
fi#進入到代碼根目錄位置
cd product-demo#切換到dev分支
git checkout dev#拉取最新代碼
git pull#切換到uat分支
git checkout uat#從dev分支合并代碼到uat
git merge --no-edit dev#檢查是否存在合并沖突
if [[ -n $(git ls-files --unmerged) ]]; then# 解決合并沖突,選擇當前分支的版本git checkout --ours .# 提交解決沖突后的代碼git add .git commit -m "Resolved merge conflict by choosing current branch's code"
fi#將最新代碼提交到uat分支
git push origin uat#結束后回到dev分支
git checkout dev

命令解釋

  1. read -p "確認要執行腳本嗎?(輸入 'yes' 繼續): " userInput
    提示用戶輸入,要求用戶確認是否繼續執行腳本。只有用戶輸入’yes’時,腳本才會繼續執行。
  2. if [ "$userInput" != "yes" ]; then
    如果用戶輸入不是’yes’,執行下面的命令。
  3. echo "用戶取消了操作,腳本已終止。"
    輸出用戶取消操作的信息。
  4. exit 1
    終止腳本執行,并返回退出碼1。
  5. cd suitecrm-fe
    改變當前工作目錄到suitecrm-fe
  6. git checkout dev
    切換到名為"dev"的分支。
  7. git pull
    從遠程倉庫拉取"dev"分支的最新代碼。
  8. git checkout uat
    切換到名為"uat"的分支。
  9. git merge --no-edit dev
    從"dev"分支合并更改到當前的"uat"分支,不提供編輯合并提交信息的機會。
  10. if [[ -n $(git ls-files --unmerged) ]]; then
    檢查是否存在未合并的文件。如果有,說明有合并沖突。
  11. git checkout --ours .
    選擇當前分支的版本來解決合并沖突。
  12. git add .
    將所有文件添加到暫存區。
  13. git commit -m "Resolved merge conflict by choosing current branch's code"
    提交暫存區中的更改,并附加指定的提交信息。
  14. git push origin uat
    將"uat"分支的最新更改推送到遠程倉庫的"uat"分支。
  15. git checkout dev
    完成所有操作后,切換回"dev"分支。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712009.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712009.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712009.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《TCP/IP詳解 卷一》第9章 廣播和組播

目錄 9.1 引言 9.2 廣播 9.2.1 使用廣播地址 9.2.2 發送廣播數據報 9.3 組播 9.3.1 將組播IP地址轉換為組播MAC地址 9.3.2 例子 9.3.3 發送組播數據報 9.3.4 接收組播數據報 9.3.5 主機地址過濾 9.4 IGMP協議和MLD協議 9.4.1 組成員的IGMP和MLD處理 9.4.2 組播路由…

可用于智能客服的完全開源免費商用的知識庫項目

介紹 FastWiki項目是一個高性能、基于最新技術棧的知識庫系統,專為大規模信息檢索和智能搜索設計。利用微軟Semantic Kernel進行深度學習和自然語言處理,結合.NET 8和MasaBlazor前端框架,后臺采用.NET 8MasaFrameworkSemanticKernel&#xff…

嵌入式Linux學習DAY26

管道的作用:進程間的通信 無名管道: 只能在父子進程中進行通信 pipe int pipe(int pipefd[2]); 功能: 創建一個無名管道 參數: pipefd[0]:讀管道文件描述符 pipefd[1]:寫管道文件描述符 …

【InternLM 實戰營筆記】基于 InternLM 和 LangChain 搭建MindSpore知識庫

InternLM 模型部署 準備環境 拷貝環境 /root/share/install_conda_env_internlm_base.sh InternLM激活環境 conda activate InternLM安裝依賴 # 升級pip python -m pip install --upgrade pippip install modelscope1.9.5 pip install transformers4.35.2 pip install str…

【大廠AI課學習筆記NO.53】2.3深度學習開發任務實例(6)數據采集

這個系列寫了53期了,很多朋友收藏,看來還是覺得有用。 后續我會把相關的內容,再次整理,做成一個人工智能專輯。 今天學習到了數據采集的環節。 這里有個問題,數據準備包括什么,還記得嗎? 數…

ZStack Cube超融合入選IDC《中國超融合基礎架構市場評估》報告

近日,IDC發布了《中國超融合基礎架構市場評估,2023》。IDC針對中國超融合基礎架構市場的發展現狀展開了調研,明確了最終用戶構建融合型云平臺的痛點和難點,闡述了市場中各技術服務提供商的服務方案和優勢,并對未來中國…

vue3+ts+vite數據大屏自適應總結(兩種方法)

總結一下我常用的數據大屏自適應方法 目錄 1、通過css縮放方案: 利用transform:scale 進行適配2、采用rem布局, 根據屏幕分辨率大小不同,調整根元素html的font-size, 從而達到每個元素寬高自動變化,適配不…

接口測試實戰--mock測試、日志模塊

一、mock測試 在前后端分離項目中,當后端工程師還沒有完成接口開發的時候,前端開發工程師利用Mock技術,自己用mock技術先調用一個虛擬的接口,模擬接口返回的數據,來完成前端頁面的開發。 接口測試和前端開發有一個共同點,就是都需要用到后端工程師提供的接口。所以,當…

Redis速學

一、介紹Redis 基本概念和特點 Redis是一個開源的內存數據庫,它主要用于數據緩存和持久化。其數據存儲在內存中,這使得它具有非常快的讀寫速度。Redis支持多種數據結構,包括字符串、哈希、列表、集合和有序集合,這使得它非常靈活…

書生·浦語大模型圖文對話Demo搭建

前言 本節我們先來搭建幾個Demo來感受一下書生浦語大模型 InternLM-Chat-7B 智能對話 Demo 我們將使用 InternStudio 中的 A100(1/4) 機器和 InternLM-Chat-7B 模型部署一個智能對話 Demo 環境準備 在 InternStudio 平臺中選擇 A100(1/4) 的配置,如下圖所示鏡像…

微店商品詳情 API 支持哪些商品信息的獲取?

微店(Weidian)并沒有一個公開的、官方維護的API文檔來供開發者使用。這意味著,如果你想要獲取微店商品詳情或其他相關信息,你通常需要通過微店官方提供的方式來實現,例如使用其開放平臺、官方SDK或聯系微店的技術支持獲…

Spring常見面試題知識點總結(三)

7. Spring MVC: MVC架構的概念。 MVC(Model-View-Controller)是一種軟件設計模式,旨在將應用程序分為三個主要組成部分,以實現更好的代碼組織、可維護性和可擴展性。每個組件有著不同的職責,相互之間解耦…

11.Prometheus常見PromeQL表達式

平凡也就兩個字: 懶和惰; 成功也就兩個字: 苦和勤; 優秀也就兩個字: 你和我。 跟著我從0學習JAVA、spring全家桶和linux運維等知識,帶你從懵懂少年走向人生巔峰,迎娶白富美! 關注微信公眾號【 IT特靠譜 】,每天都會分享技術心得~ …

YOLO算法

YOLO介紹 YOLO,全稱為You Only Look Once: Unified, Real-Time Object Detection,是一種實時目標檢測算法。目標檢測是計算機視覺領域的一個重要任務,它不僅需要識別圖像中的物體類別,還需要確定它們的位置。與分類任務只關注對…

【矩陣】【方向】【素數】3044 出現頻率最高的素數

作者推薦 動態規劃的時間復雜度優化 本文涉及知識點 素數 矩陣 方向 LeetCode 3044 出現頻率最高的素數 給你一個大小為 m x n 、下標從 0 開始的二維矩陣 mat 。在每個單元格,你可以按以下方式生成數字: 最多有 8 條路徑可以選擇:東&am…

安裝 Ubuntu 22.04.3 和 docker

文章目錄 一、安裝 Ubuntu 22.04.31. 簡介2. 下載地址3. 系統安裝4. 系統配置 二、安裝 Docker1. 安裝 docker2. 安裝 docker compose3. 配置 docker 一、安裝 Ubuntu 22.04.3 1. 簡介 Ubuntu 22.04.3 是Linux操作系統的一個版本。LTS 版本支持周期到2032年。 系統要求雙核 C…

C++的模板template

一、什么是模板 C中的模板分為類模板和函數模板,并不是一個實際的類或函數,這指的是編譯器不會自動為其生成具體的可執行代碼。只有在具體執行時,編譯器才幫助其實例化。 二、為什么引入模板 拿我們最常見的交換函數來舉例子,如果…

代碼隨想錄 二叉樹第二周

目錄 101.對稱二叉樹 100.相同的樹 572.另一棵樹的子樹 104.二叉樹的最大深度 559.N叉樹的最大深度 111.二叉樹的最小深度 222.完全二叉樹的節點個數 110.平衡二叉樹 257.二叉樹的所有路徑 101.對稱二叉樹 101. 對稱二叉樹 已解答 簡單 相關標簽 相關企業 給你一…

《求生之路2》服務器如何選擇合適的內存和CPU核心數,以避免丟包和延遲高?

根據求生之路2服務器的實際案例分析選擇合適的內存和CPU核心數以避免丟包和延遲高的問題,首先需要考慮游戲的類型和對服務器配置的具體要求。《求生之路2》作為一款多人在線射擊游戲,其服務器和網絡優化對于玩家體驗至關重要。 首先,考慮到游…

Java應用程序注冊成Linux系統服務后,關閉Java應用程序打印系統日志

Java應用程序有自己的日志框架,有指定位置的日志文件,不需要在系統日志里記錄,占用磁盤空間。 1.Linux系統文件目錄 /etc/systemd/system/ 找到要修改的Java應用程序服務配置 比如bis-wz-80.service 2.設置不打印日志 StandardOutputnull S…