那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

集中式的版本控制和分布式版本控制介紹

sanyue7758 ? 來源:ICer消食片 ? 作者:ICer消食片 ? 2022-10-14 10:00 ? 次閱讀

我們知道,數字IC的開發是一群研發工程師圍繞著RTL代碼干活的過程,代碼的迭代動輒成千上萬個版本。

1a813b74-4b0c-11ed-a3b6-dac502259ad0.png

對于沒接觸過項目的新手,不知道是否想過這個問題:如何保證大家修改過的代碼實時同步更新到每一個人手里呢?

版本控制系統就是一種用于多人協同開發的技術,可以管理我們對文件、目錄或工程等內容的修改歷史,方便查看更改歷史記錄,還可以恢復以前的版本。

目前常用的版本控制系統有兩種,集中式的版本控制和分布式版本控制

1.集中式的版本控制系統:SVN

版本庫集中存放在中央repository,這個repository像一個文件服務器,它會記住每一次用戶提交的文件改動,所以用過可以查看文件的變動歷史,也可以將文件恢復到之前的版本。新人開始干活了,用的都是個人電腦,所以要先從中央repository獲取最新的版本,然后開始干活,干完活了,再把自己的文件修改上傳給中央repository,生成新的版本。集中式版本控制系統必須聯網才能工作,局域網中速度還行,但是在互聯網環境下,網速通常比較慢。

1ab21aaa-4b0c-11ed-a3b6-dac502259ad0.png

repository(源代碼庫):源代碼統一存放的地方,用戶提取、提交、更新代碼的地方

checkout(提取):剛開始工作時,你需要從repository checkout一份

commit(提交):工作對代碼進行了修改,你需要將修改的文件Commit到repository

update (更新):別人也會提交新代碼到repository, Update一下你就可以和repository上的源代碼同步了

開發流程:剛接入項目,svn co xxx,checkout源代碼庫,就可以開始和同事協同開發了;第二天,同事昨天做了一些文件修改,為了保持同步,svnup xxx,update獲取最新的代碼;工作了幾天,你發現了一些bug,對相關文件做修改并調試成功了,這時候svn ci xxx,將修改的文件提交至repository中,同事就可以看到你的修改了。

如果你想在版本庫添加新的文件用于更新迭代,svn add xxx,將新文件加到repository中。當你和同事同時對一個文件進行了修改,SVN會自動合并兩種修改,但是如果修改的是同一行,就會報conflict沖突提示,這時候就需要你們double check文件了。

常用命令

svnadd 添加文件、目錄或符號鏈

svn co從版本庫取出一個工作拷貝

svn ci將修改從工作拷貝發送到版本庫

svndel 從工作拷貝或版本庫刪除一個項目

svndiff 比較兩條路徑的區別

svnhelp 幫助

svninfo 打印路徑的信息

svnlog 顯示提交日志信息

svnmerge 應用兩組源文件的差別到工作拷貝路徑

svnresolved 刪除工作拷貝文件或目錄的“沖突”狀態

svnrevert 取消所有的本地編輯

svn up更新本地的工作拷貝

2. 分布式的版本控制系統:Git

沒有中央repository,因為在每一個使用者電腦上,就有一個完整的數據repository,就算沒有網絡依然可以使用Git,離線在本地提交,在連網時推送到相應的服務器或者其他用戶本地,除此之外Git還具有強大的分支管理功能。

1afd77a2-4b0c-11ed-a3b6-dac502259ad0.png

working directory(工作區):在本地電腦里的工作目錄

staging area(暫存區):index文件中,緩沖提交操作

repository(版本庫):管理所有版本文件的倉庫

工作流程:克隆Git資源作為工作目錄;在本地的資源上修改或添加文件;如果他人提交了修改,你可以更新資源;調試通過后提交修改的文件;發現還是有錯誤,可以撤回提交再次修改后提交。git add從工作區提交到暫存區,git commit從暫存區提交到本地倉庫,git push從本地倉庫提交到遠程倉庫。

常用命令

git clone 拷貝一份遠程倉庫,即下載一個項目

git add 添加文件到暫存區

git commit 將暫存區內容添加到倉庫中

git checkout 切換分支或恢復工作樹文件

git pull 下載遠程代碼并合并

git push 上傳遠程代碼并合并

git status 查看倉庫當前狀態,顯示有變更的文件

git diff 比較文件的不同

git reset 回退版本

git rm刪除工作區文件

git mv 移動或重命名工作區文件

git init 初始化倉庫

git log 查看歷史提交記錄

git fetch 從遠程獲取代碼庫

兩者對比

1b0c0524-4b0c-11ed-a3b6-dac502259ad0.png

小結

Git和SVN都是目前主流的版本控制系統。Git可能更難壓縮和存儲二進制文件,但它可以離線使用。分支和合并支持也被認為是Git的優勢所在。SVN具有全局的版本號,而Git則沒有。在磁盤空間存儲方面,SVN和Git存儲庫之間幾乎相等。但不管怎樣,用哪個還不得是取決于你的公司





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59950
  • 數字IC
    +關注

    關注

    1

    文章

    38

    瀏覽量

    12635
  • svn
    svn
    +關注

    關注

    0

    文章

    30

    瀏覽量

    8688

原文標題:你真的懂GIT和SVN嗎?

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    計算機網絡協議:分散集中式分布式

    一、網絡通信模式和網絡協議 分散集中式分布式 在早期的計算機網絡中,為了有效的利用計算機,一般講數據通信模型分為分散(Decentralized)、
    的頭像 發表于 10-27 14:44 ?1.4w次閱讀
    計算機網絡協議:分散<b class='flag-5'>式</b>、<b class='flag-5'>集中式</b>和<b class='flag-5'>分布式</b>

    分布式軟件系統

    分布式程序設計語言及其編譯(解釋)系統、分布式文件系統和分布式數據庫系統等。 分布式操作系統負責管理分布式處理系統資源和
    發表于 07-22 14:53

    集中式監測&分布式監測

    ,加之同一采集板卡內部通道的同步性較高,輔以不同采集儀之間利用GNSS時鐘模塊進行時鐘同步,從而整個系統的時鐘同步性還是能夠得到保障的。我們把這種監測系統設計理念稱呼為“集中式監測”(如此定義未必確切
    發表于 09-21 08:40

    集中式IT的可用性

    企業一直承受著改善工作流程、降低成本和更快交付產品的壓力。使用遠程訪問和集中式IT基礎設施,組織可以在加速上市時間方面取得巨大飛躍,同時從大幅降低成本中獲益。遠程工作人員需要快速響應的遠程訪問,盡管
    發表于 08-31 07:26

    概述隔離電源集中式電源架構

    這里寫目錄標題概述隔離電源集中式電源架構分布式電源架構:個人理解概述· 集中式電源架構(CPA):效率高,但成本高,PCB占用面積大。· 分布式
    發表于 11-11 07:07

    集中式電源架構和分布式電源架構

    電源,然后經過板上電源模塊轉換到各個目標電源進行使用,電源架構一般有集中式電源架構和分布式電源架構。1、集中式電源架構即輸入電壓直接通過隔離DCDC模塊轉換到各個目標電壓,但成本高,占用PCB面積大。2、
    發表于 11-15 07:11

    集中式矩陣,分布式矩陣具有那些特點?

    集中式矩陣因接口有限,輸入輸出量受限,若想接入更多設備則需要整機更換,而分布式矩陣則可直接將輸入端網絡化后接入交換機達到擴展目的,因此,分布式矩陣具有更高的擴展性。
    的頭像 發表于 11-19 15:38 ?5892次閱讀

    電源架構--集中式電源架構/分布式電源架構

    這里寫目錄標題概述隔離電源集中式電源架構分布式電源架構:個人理解概述· 集中式電源架構(CPA):效率高,但成本高,PCB占用面積大。· 分布式
    發表于 11-06 17:21 ?15次下載
    電源架構--<b class='flag-5'>集中式</b>電源架構/<b class='flag-5'>分布式</b>電源架構

    分布式vs.集中式,存儲架構如何選?

    存儲技術發展日新月異。一方面傳統集中式SAN/NAS還在廣泛使用,另一方面各類分布式存儲產品已紛紛在新興的海量數據場景中占據市場。如何根據業務需求選擇合適的存儲架構?分布式存儲能否在所有場景都能
    的頭像 發表于 05-09 10:08 ?4604次閱讀
    <b class='flag-5'>分布式</b>vs.<b class='flag-5'>集中式</b>,存儲架構如何選?

    S7-300 PLC系統的集中式擴展

    總線(PROFIBUS DP或PROFINET IO)通訊的方式,擴展ET200分布式IO。本文將介紹S7-300的集中式擴展。
    的頭像 發表于 10-12 16:59 ?3687次閱讀

    分布式發電與集中式發電的區別?

    分布式光伏發電主要是指建設在房屋屋頂或者是小規模容量的,農光互補是建設在地面上,且一般裝機容量也很大,屬于集中式(如寧夏寶豐能源的農光五補光伏發電,全球裝機最大,技術最先進。)
    發表于 04-10 15:02 ?7602次閱讀

    電機集中式繞組和分布式繞組的區別

    什么時候使用集中式繞組,什么時候使用分布式繞組,取決于電機的尺寸和具體應用(depends on the dimensions of the motor and its application)。
    發表于 06-19 10:41 ?7055次閱讀
    電機<b class='flag-5'>集中式</b>繞組和<b class='flag-5'>分布式</b>繞組的區別

    集中式架構的優勢有哪些

    在電子化和智能化發展的需要下,傳統的分布式架構逐漸進化為域集中式架構,“域”和“域控制器”產生。域控制器最早由博世、大陸、德爾福等 Tier1廠商提出,通過利用處理能力更強的多核 CP
    的頭像 發表于 07-13 16:00 ?1330次閱讀

    分布式大屏控制系統與集中式系統的比較

    分布式大屏控制系統與集中式系統在多個方面存在顯著差異,具體如下: 架構與傳輸方式:分布式大屏控制系統采用去中心化的網絡架構,每個節點都是一個
    的頭像 發表于 01-29 14:28 ?874次閱讀

    分布式儲能和集中式儲能的區別

    分布式儲能和集中式儲能是電力系統中兩種不同的儲能應用模式,它們各自有著獨特的優勢和應用場景。
    的頭像 發表于 04-29 17:36 ?3526次閱讀
    皇冠现金网是真的吗| 百家乐另类投注法| 大发888 网站被攻击了| 百家乐官网打鱼秘| 365赌球| 怎么玩百家乐网上赌博| 百家乐官网开户博彩论坛| 百家乐五湖四海娱乐场开户注册 | 百家乐官网怎么玩会| 六合彩资料| 百家乐棋牌交友中心| 最好的百家乐官网好评平台都有哪些| 大发888娱乐城大发888大发网| 真博百家乐官网的玩法技巧和规则 | 百家乐官网凯时赌场娱乐网规则 | 百家乐博彩平台| 澳门百家乐官网群策略| 大发888心水论坛| 真人百家乐官网网络游戏信誉怎么样 | 百家乐官网真人娱乐场| 申博太阳城官方网站| 百家乐娱乐人物| 百家乐官网投注方法网| 宝马会娱乐城返水| 高档百家乐桌子| 百家乐官网街机| 网络投注| 威尼斯人娱乐网官网| 菠菜百家乐娱乐城| 百家乐官网贴| 在线体育投注| 老虎机的规律| 镇雄县| 大发888真钱游戏注册| 永利博百家乐游戏| 赌博百家乐官网技巧| 白凤凰博彩通| 大发888电脑版下载| 新奥博百家乐娱乐城| 20人百家乐官网桌| 订做百家乐官网桌子|