欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用go語言實現(xiàn)Git?重命名遠程分支??

 更新時間:2022年06月08日 11:12:39   作者:??王中陽Go????  
這篇文章主要介紹了go語言實現(xiàn)Git?重命名遠程分支,文章基于go語言的基礎展開Git?重命名遠程分支的實現(xiàn)過程,需要的小伙伴可以參考一下,希望對你的學習有所幫助

問題描述

小A和我并行開發(fā),他在優(yōu)化之前的代碼邏輯,我在開發(fā)新功能。

小A在我之前把代碼提交到了測試分支,我想提交我的新功能代碼到測試分支時發(fā)現(xiàn)巨多沖突。

首先解決沖突浪費時間,我的新功能代碼每次提測都需要解決沖突。

再者我再測試分支解決沖突,只能按照小A優(yōu)化后的代碼邏輯的去解決,和我自己的分支邏輯并不一致。

交付給測試同學測的代碼,和我自己分支的代碼不一致,這種測試是沒有意義的。

反思出問題的原因

  • 工廠模式使用的不合理
  • 任務分配的不合理

代碼層面

因為是工廠設計模式,我負責的實現(xiàn)類A和他的實現(xiàn)類B雖然沒有直接關系。但是因為他修改了工廠類中的方法定義。

比如之前工廠類中的接口是這么定義的

package factory

type xxx interface {
   GetXxxx(ctx context.Context, req aaa.aa) (res bbb.bb, err error)  
}

但是小A修改了工廠類中的接口定義:

package factory

type xxx interface {
   GetXxxx(ctx context.Context, req ccc.cc) (res ddd.dd, err error)  
}

這樣就導致了一個問題:

我想合并我的代碼到測試分支也必須將我的實現(xiàn)類A修改傳參類型和返回類型。

但是我們都在不同的分支上開發(fā),我是沒有他定義的類型ccc.cc,ddd.dd的。

我又不能直接把他定義的ccc.cc,ddd.dd要過來,在我自己的分支上開發(fā),一是因為需求不一致,小A的上線周期會比我長,二是這種操作本身就不規(guī)范。

解決問題

從代碼設計上優(yōu)化

我們想到的方案是合理使用interface

把工廠類中要實現(xiàn)的接口方法的入?yún)⒑统鰠⒃O置為interface{}類型

package factory

type xxx interface {
   GetXxxx(ctx context.Context, req interface{}) (res interface{}, err error)  
}

這樣就比較容易進行擴展了。

從git操作上優(yōu)化

但是入?yún)⒑统鰠⒃O置為interface{}類型的辦法并沒有從根本上解決我們的問題。

原因是這樣的:

小A的需求是整體優(yōu)化工廠類和各個實現(xiàn)類的入?yún)?、出參,?yōu)化內(nèi)部邏輯,抽取方法。小A的修改導致和我的實現(xiàn)邏輯有比較大的沖突。

但是他的git提交又在我之前提交到了測試環(huán)境,導致我無法提交我的代碼,如果要提交就要解決各種沖突。解決沖突就要按照小A的優(yōu)化邏輯去改,給到測試同學測的有和我自己分支的不一致。難頂啊??紤]到小A的修改暫時不需要提測,上線周期也比較長。

最終的辦法是這樣的

從遠程的測試分支拉取了一個備份分支,刪除遠程的測試分支

把我本地需要測試的分支提交到測試分支,交付測試。

git 重命名遠程分支

1.先重命名本地分支

git branch -m 舊分支名稱  新分支名稱

2.刪除遠程分支

git push --delete origin 舊分支名稱

3.上傳新修改名稱的本地分支

git push origin 新分支名稱

4.修改后的本地分支關聯(lián)遠程分支

git branch --set-upstream-to origin/新分支名稱

到此這篇關于go語言實現(xiàn)Git 重命名遠程分支  的文章就介紹到這了,更多相關go Git 重命名 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Golang語言學習拿捏Go反射示例教程

    Golang語言學習拿捏Go反射示例教程

    這篇文章主要為大家介紹了Golang語言中Go反射示例的教程,教你拿捏Go反射,再也不用被Go反射折磨,有需要的朋友可以共同學習參考下
    2021-11-11
  • go build 通過文件名后綴實現(xiàn)不同平臺的條件編譯操作

    go build 通過文件名后綴實現(xiàn)不同平臺的條件編譯操作

    這篇文章主要介紹了go build 通過文件名后綴實現(xiàn)不同平臺的條件編譯操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go 自定義error錯誤的處理方法

    Go 自定義error錯誤的處理方法

    這篇文章主要介紹了Go 自定義error錯誤的處理方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Golang實現(xiàn)KV存儲引擎實例探究

    Golang實現(xiàn)KV存儲引擎實例探究

    這篇文章主要為大家介紹了Golang實現(xiàn)KV存儲引擎實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • GO語言入門學習之基本數(shù)據(jù)類型字符串

    GO語言入門學習之基本數(shù)據(jù)類型字符串

    字符串在Go語言中以原生數(shù)據(jù)類型出現(xiàn),使用字符串就像使用其他原生數(shù)據(jù)類型(int、bool、float32、float64 等)一樣,下面這篇文章主要給大家介紹了關于GO語言入門學習之基本數(shù)據(jù)類型字符串的相關資料,需要的朋友可以參考下
    2022-04-04
  • Golang實現(xiàn)自己的Redis(TCP篇)實例探究

    Golang實現(xiàn)自己的Redis(TCP篇)實例探究

    這篇文章主要介紹了Golang實現(xiàn)自己的Redis(TCP篇)實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Golang 語言高效使用字符串的方法

    Golang 語言高效使用字符串的方法

    這篇文章主要介紹了Golang 語言高效使用字符串的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • golang使用go mod導入本地包和第三方包的方式

    golang使用go mod導入本地包和第三方包的方式

    這篇文章主要介紹了golang使用go mod導入本地包和第三方包的方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Go語言共享內(nèi)存讀寫實例分析

    Go語言共享內(nèi)存讀寫實例分析

    這篇文章主要介紹了Go語言共享內(nèi)存讀寫方法,實例分析了共享內(nèi)存的原理與讀寫技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • Golang兩行代碼實現(xiàn)發(fā)送釘釘機器人消息

    Golang兩行代碼實現(xiàn)發(fā)送釘釘機器人消息

    創(chuàng)建一個釘釘機器人必須使用加簽,本文通過Golang兩行代碼實現(xiàn)發(fā)送釘釘機器人消息,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2021-12-12

最新評論