各位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 十分方便。有些傳統的版本管理軟體,分支操作實際上會生成乙...