0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何向工具初學(xué)者介紹分布式版本控制系統(tǒng)Git

電子工程師 ? 來(lái)源:lq ? 2019-01-28 16:26 ? 次閱讀

本文主題是如何向工具初學(xué)者介紹分布式版本控制系統(tǒng) Git。除了了解關(guān)于 Git 的基本知識(shí)以外,大家還可以學(xué)到一些工具學(xué)習(xí)方面的東西。

我發(fā)現(xiàn)的問(wèn)題

我的一些職業(yè)經(jīng)歷涉及跨職能領(lǐng)域,因此我了解所有同事的工作方式。我記得有一家公司在我加入的幾周前才開(kāi)始使用 Git。

我用三步把 post-it 放到屏幕上:第一步是 add,第二步是 commit,第三步是 push。

他們不知道為什么要用這三步,他們只知道為了防止發(fā)生其他問(wèn)題,他們應(yīng)該遵循這三個(gè)步驟。但是問(wèn)題還是頻頻發(fā)生,所以我決定準(zhǔn)備一個(gè)關(guān)于 Git 的討論會(huì)。

想法

我喜歡在頭腦中繪圖。我不寫(xiě)「思維導(dǎo)圖」,因?yàn)樗鼈兪潜娝苤膱D像形式。而我所說(shuō)的「圖」是一種大腦中的有框架、結(jié)構(gòu)化或其他形式的圖像表征。例如,我在頭腦中想象骰子來(lái)學(xué)習(xí)加法。

所以我準(zhǔn)備了一些圖。理解這篇文章不一定需要看懂這些圖。但出于可訪問(wèn)性,我對(duì)每一張圖都作出了解釋。

在這種情況下,詞匯的教學(xué)就非常重要了。否則他們無(wú)法理解來(lái)自 Git 的信息。這些圖是一種很好地向他們介紹詞匯的方式。

分布式版本控制系統(tǒng)

概括圖包括四部分,分別是:

開(kāi)發(fā)環(huán)境中的:

工作區(qū)

暫存區(qū)或索引

本地版本庫(kù)

服務(wù)器中的:

遠(yuǎn)程版本庫(kù)

到那個(gè)時(shí)候,你就可以解釋分布式版本控制系統(tǒng)的好處了。

復(fù)制版本庫(kù)

在復(fù)制版本庫(kù)時(shí),遠(yuǎn)程版本庫(kù)中的數(shù)據(jù)要傳遞到兩個(gè)區(qū)域:

工作區(qū)

本地版本庫(kù)

在工作區(qū)中進(jìn)行更改

工作區(qū)中有兩類文件:

追蹤文件:Git 知道的文件。

未追蹤文件:因?yàn)樯形刺砑右虼?Git 不知道的文件。

更新遠(yuǎn)程版本庫(kù)

當(dāng)工作區(qū)更改就緒時(shí),必須先把它們添加到暫存區(qū)中。

當(dāng)暫存區(qū)中有一組特定的更改時(shí),我們就需要在本地庫(kù)中創(chuàng)建帶有這些特定信息的 commit。

當(dāng)本地版本庫(kù)中有一或多個(gè)準(zhǔn)備和世界其他地方共享的 commit 時(shí),我們必須把它們 push 到遠(yuǎn)程版本庫(kù)中。

這時(shí),開(kāi)發(fā)環(huán)境中的文件狀態(tài)已經(jīng)有所不同了:已修改、已暫存和已提交(modified, staged and committed)。

此外,你還可以解釋:

如何顯示工作區(qū)的文件更改:git diff

如何顯示暫存區(qū)的文件更改:git diff –staged

在將文件添加到暫存區(qū)后,如何在工作區(qū)中更改文件

等等

更新開(kāi)發(fā)環(huán)境

抓?。╢etch)

執(zhí)行 git fetch 后,遠(yuǎn)程庫(kù)中的數(shù)據(jù)將僅傳遞到本地庫(kù)中。

Pulling

當(dāng)執(zhí)行 git pull 后,遠(yuǎn)程庫(kù)中的數(shù)據(jù)會(huì)傳輸?shù)絻蓚€(gè)區(qū)域:

本地庫(kù):抓?。╢etch)

工作區(qū):合并(merge)

你可以用 git pull—rebase 查看 commit 歷史。它是由 fetch + rebase 而不是 fetch + merge 組成的。它將會(huì)重新執(zhí)行你的本地提交,而且你無(wú)法看到提交歷史中已知的 diamond shape。

下一步

你可以在開(kāi)發(fā)環(huán)境中添加另一個(gè)區(qū)域來(lái)解釋暫存區(qū):dirty work directory。

如果人們將這些概念內(nèi)化,他們就可以建立堅(jiān)實(shí)的基礎(chǔ),從而更容易地使用分支、提交歷史以及衍合(rebasing)等。

溫馨提示

我也曾用過(guò)其他版本控制系統(tǒng)(Visual SourceSafe、TFS 和 Subversion),以我的個(gè)人經(jīng)驗(yàn)來(lái)講,缺乏知識(shí)對(duì)于使用舊工具和新工具而言都有害。我們不僅僅要選擇工具,還要掌握工具。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6737

    瀏覽量

    111574
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1091

    瀏覽量

    40871
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

    16023

原文標(biāo)題:如何優(yōu)雅地向別人介紹高端大氣上檔次的Git

文章出處:【微信號(hào):aicapital,微信公眾號(hào):全球人工智能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    GIT(分布式版本控制系統(tǒng))的工作原理

    都是完整的,功能更強(qiáng)大,自然而然操作更復(fù)雜一些。git在本地也是以git版本庫(kù)的形式管理,可以在本地做一些修改,然后commit到本地的版本庫(kù),最后push到服務(wù)器。
    的頭像 發(fā)表于 12-21 16:09 ?993次閱讀
    <b class='flag-5'>GIT</b>(<b class='flag-5'>分布式</b><b class='flag-5'>版本</b><b class='flag-5'>控制系統(tǒng)</b>)的工作原理

    分布式控制系統(tǒng)

    分布式控制系統(tǒng)分布式控制系統(tǒng) (distributed control systems,簡(jiǎn)稱DCS),又稱為分散控制系統(tǒng),分散型控制系統(tǒng),集散控制系統(tǒng).行業(yè)內(nèi)業(yè)稱4C技術(shù)既Contro
    發(fā)表于 03-01 22:19

    基于STM和MSP的分布式多步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)

    本帖最后由 南中南 于 2016-1-7 11:05 編輯 針對(duì)多步進(jìn)電機(jī)控制系統(tǒng)的要求,設(shè)計(jì)了基于STM32和MSP430的分布式多步進(jìn)電機(jī)控制系統(tǒng)。分享下
    發(fā)表于 01-07 10:16

    如何去設(shè)計(jì)分布式車身控制系統(tǒng)

    分布式車身控制系統(tǒng)的結(jié)構(gòu)是怎樣構(gòu)成的?分布式車身控制系統(tǒng)有哪些功能?
    發(fā)表于 05-13 07:03

    請(qǐng)問(wèn)怎樣去設(shè)計(jì)一種車門(mén)分布式控制系統(tǒng)?

    一種介紹基于CAN/LIN總線的車門(mén)分布式控制系統(tǒng)設(shè)計(jì)
    發(fā)表于 05-14 06:44

    RDS的詳細(xì)介紹,對(duì)初學(xué)者有用

    RDS的詳細(xì)介紹,對(duì)初學(xué)者有用
    發(fā)表于 10-24 11:29 ?14次下載
    RDS的詳細(xì)<b class='flag-5'>介紹</b>,對(duì)<b class='flag-5'>初學(xué)者</b>有用

    Freelance 2019發(fā)布 是分布式控制系統(tǒng)的最新版本

    Freelance最初版本發(fā)布于1994年,是ABB針對(duì)過(guò)程工業(yè)提供的經(jīng)濟(jì)高效的分布式控制系統(tǒng)(DCS)解決方案。它結(jié)合了DCS與可編程邏輯控制器(PLC)的優(yōu)點(diǎn),具有易用性、可擴(kuò)展性、靈活性和可靠性的特點(diǎn)。Freelance
    發(fā)表于 12-06 16:19 ?5232次閱讀

    Git是什么?Git的基本使用資料說(shuō)明

      Git是什么? Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒(méi)有之一)。
    發(fā)表于 05-29 17:56 ?1次下載
    <b class='flag-5'>Git</b>是什么?<b class='flag-5'>Git</b>的基本使用資料說(shuō)明

    分布式控制系統(tǒng)介紹

    分布式控制系統(tǒng)是最流行的,它是專門(mén)設(shè)計(jì)的冗余和診斷功能,以提高控制的可靠性和性能。它為控制分布式離散現(xiàn)場(chǎng)設(shè)備及其操作站提供了更大的靈活性。
    發(fā)表于 07-01 14:19 ?5717次閱讀
    <b class='flag-5'>分布式控制系統(tǒng)</b>的<b class='flag-5'>介紹</b>

    開(kāi)源的分布式版本控制系統(tǒng)Git配置

    ? 今天帶著大家來(lái)學(xué)習(xí)Git,這是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),幫助我們進(jìn)行項(xiàng)目的管理更迭。 其實(shí)關(guān)于Git的命令也不是一定需要記憶,但畢竟
    的頭像 發(fā)表于 03-09 13:47 ?1590次閱讀

    世界上最先進(jìn)分布式版本控制系統(tǒng)Git介紹

    世界上最先進(jìn)的分布式版本控制系統(tǒng)。 簡(jiǎn)單理解版本控制就是:比如你修改了代碼,然后提交修改,系統(tǒng)
    的頭像 發(fā)表于 06-09 17:40 ?2103次閱讀

    FPGA初學(xué)者必讀文檔

    FPGA初學(xué)者必讀文檔(嵌入開(kāi)發(fā)適合哪個(gè)城市)-FPGA初學(xué)者必讀文檔,為學(xué)習(xí)FPGA做好準(zhǔn)備。
    發(fā)表于 08-04 11:39 ?32次下載
    FPGA<b class='flag-5'>初學(xué)者</b>必讀文檔

    一文詳解Git分布式版本控制系統(tǒng)

    Git 是一個(gè)免費(fèi)的、開(kāi)源的分布式版本控制系統(tǒng),可以快速高效地處理從小型到大型的各種項(xiàng)目。 Git 的特色是分支,人家圖標(biāo)上都敢這么畫(huà)了
    的頭像 發(fā)表于 10-14 09:48 ?871次閱讀

    Arduino初學(xué)者展示LED代碼的工作原理

    電子發(fā)燒友網(wǎng)站提供《Arduino初學(xué)者展示LED代碼的工作原理.zip》資料免費(fèi)下載
    發(fā)表于 11-22 14:25 ?2次下載
    <b class='flag-5'>向</b>Arduino<b class='flag-5'>初學(xué)者</b>展示LED代碼的工作原理

    Git是什么 Git介紹

    git 是什么? Git 誕生于 2005 年,是一款免費(fèi)、開(kāi)源、分布式版本控制系統(tǒng)。 直接記錄快照,而非差異比較
    的頭像 發(fā)表于 07-22 10:50 ?2062次閱讀
    <b class='flag-5'>Git</b>是什么 <b class='flag-5'>Git</b><b class='flag-5'>介紹</b>

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品