abapGit分支策略

2021-09-26 01:16:33 字數 1574 閱讀 9703

各位abap公民們、特別是使用abapgit的各位,你們好。

我的團隊和我將向大家分享我公司內引入abapgit後產生的某些開發問題。我所在的公司是一家創作sap第三方軟體的公司,目前主要使用abap和ui5。

本文專門針對abap方面。

首先,我們愛abapgit,相信你們中的很多也是一樣...

github repository

我們的git倉庫使用gitlab託管在本地,有著各種使用者友好的特性。

我們至少每天push一次我們的commit,生成版本(可以說是乙個額外的備份層)。

通過使用gitlabs的**審查功能,也使**審查變得容易了許多。

我們最近評估了使用分支的可能性,得出的結論是:我們不能在現有的基礎設施之上使用它。

本文的剩餘部分將**如何使用abapgit實現分支。

英文原文:abapgit branching strategy discussion

這就是我們現在的工作方式。所有開發者在相同的sap系統和**基礎(code base)上工作,所有人都push**到主「分支」上。

**會因為其他人的問題commit出錯

無法馬上使用分支的根本原因在於,所有開發者使用同樣的**基礎。開發者沒有隔離他們同事的**修改行為。

所以,實現真正分支的第一步就是,分割每個開發者的開發環境。這意味著,每個開發者要有他自己的sap系統來進行開發。

這帶給我們第乙個整體的不利條件:

我們的第乙個想法是,為什麼不在開發者的機器上虛擬化執行sap系統呢?

開發者在進行一項任務時,可以push到他們的分支當中,直到它們建立乙個merge request。

主開發系統(dev)只從主分支拉取,主分支只包含被批准的merge request。

優勢在ssd上面執行sap系統真的快極了

劣勢開發者需要知道怎樣開啟/關閉他們的虛擬機器/sap系統

某些總體問題也打擊了我們:

公升級開發者的sap系統

公升級主開發sap系統

你還需要乙個策略來應對以下問題:

開發系統的複製(只複製sap)

轉殖主開發系統執行的虛擬機器(os+sap)

…… 並且,更新的頻率是?

公升級看起來是個大問題,也許不用乙個本地虛擬機器、而是使用託管虛擬機會更好。

這樣的話,無論採取何種策略來更新,都可以更輕鬆地執行。

優勢: 劣勢:所以,進行這一切的優點是什麼?

我們的看法是:

值得為此做出很多的努力嗎?

我們的團隊並不知道答案。系統同步帶來的成本,看起來是巨大的。

在這點上我們感到不舒服,因此轉向社群,希望聽到你們在這個話題上的的意見和經驗。

非常感謝,

andré

分支管理策略

通常,合併分支時,如果可能,git會用fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊。如果要強制禁用fast forward模式,git就會在merge時生成乙個新的commit,這樣,從分支歷史上就可以看出分支資訊。下面我們實戰一下 no ff方式的git merge 1....

分支管理策略

通常,合併分支時,如果可能,git會用fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊。如果要強制禁用fast forward模式,git就會在merge時生成乙個新的commit,這樣,從分支歷史上就可以看出分支資訊。下面我們實戰一下 no ff方式的git merge 首先...

git 分支策略

轉 如果你嚴肅對待程式設計,就必定會使用 版本管理系統 version control system 眼下最流行的 版本管理系統 非git莫屬。相比同類軟體,git有很多優點。其中很顯著的一點,就是版本的分支 branch 和合併 merge 十分方便。有些傳統的版本管理軟體,分支操作實際上會生成乙...