前言
相信每一個開發人員,從開始作業實習就和一個開源專案不離不棄,你的idea,你的檔案,你的代碼指南,幾乎都會和它扯上相應的聯系,相信有朋友已經猜到了,對,他就是Git,老牌程式員可能會用的是SVN,但是我想后面也已經轉型而來,改為Git了吧
之前寫過一篇文章,影響世界的開源專案,除了Linux之外,還有一個就是Git,有興趣的大家可以看一下:讓世界為之贊嘆的開源專案,除了Linux,你知道Git嗎?
那Git為什么這么牛逼,我們先簡單的看一下Git的實作方式吧
“版本控制系統”Version Control System,VCS)是程式代碼管理軟體的通稱,是用來保存程式檔案的修改記錄以及歷史版本,以便日后查看或是使用,VCS已經有數十年的發展歷史,最早期的系統是采用集中管理和控制的方式,如果要修改某一個程式檔案,必須先將它鎖定,然后取出修改,在完成修改和回傳之前,其他人都不能更改這個程式檔案,這種方式可以有效避免“沖突”(conflict)的發生(也就是防止不同人同時修改同一段程式代碼所造成混淆的情況),但是付出的代價是效率降低,因為如果想要修改的檔案正好有別人正在修改,就必須等程式檔案回傳之后才能動手,如果要修改的人很多,因為互相等待所造成的時間浪費將非常可觀,為了解決這個問題,新的VCS 改成采用分布式的方法,每一個人隨時都可以獲取任何一個程式檔案來進行修改,等到送回VCS 的時候,再根據需要進行“合并”(merge), Git就是采用這種分布式技術的系統,
那接下來就是進入整題,也就是Git在我們日常生活中的使用以及面試中常問的問題
個人倉庫地址:https://gitee.com/biwangsheng/personal
開始前,先來看我整理的相應的思維導圖吧
第一部分Git的基本概念和操作
Git的開發者其實就是Linux的作者,也就是鼎鼎大名的 LinusTorvalds,—開始的時候,Torvalds是使用 BitKeeper 軟體來管理Linux的程式代碼,該軟體原來是免費使用的,但是后來卻要收費,于是Torvalds想要更換VCS,卻苦于尋找不到其他的替代方案可以符合開發Linux的需求,因為參與開發 Linux 的人數高達上千人,而且分布在世界各地,最后Torvalds決定自己打造一個VCS,經過短短幾個星期,第—版的 Git就正式誕生,Linux專案從此用Git管理,當時有將近七百萬行的程式代碼!
由于Git管理Linux專案非常成功,許多公司于是紛紛效仿,開始使用 Git來管理和控制軟體研發專案,這些成功的經驗,讓 Git的影響力越來越高,使用率也快速提升,
所以開始第一篇,很簡單,就是Git的操作指令,不錯,如果你會Linux的話,很多東西對你來說比較簡單的,好多命令可以通用
第二部分建立分支、合并和解決沖突
當可以正常使用軟體之后,接下來就是對于程式提交的管理作業,畢竟專案開發程序中摻雜著多人之間的協作問題,就像Linux有近兩萬人提交升級修改,那Git是如何去解決這個問題呢?
第三部分Git程式的圖形操作介面
就像Linux的每一個版本都會有DVD和mini兩個版本一樣,在習慣了使用mini的命令版本之后,DVD版本的Linux更容易上手
同樣的,到當前為止,我們一直都是使用 Git Bash程式來學習Git的用法,Git Bash程式是以輸入指令的方式操作 Git檔案庫,與圖形操作界面的程式相比,這種命令列模式的程式好像比較麻煩,其實不然,Git Bash程式才是能夠完整發揮Git最大功能的操作工具,初學者應該從 GitBash程式開始學習,才能打下扎實的 Git指令基礎,并且完整了解 Git檔案車的作業原理,等到熟練掌握這些基礎知識之后,再來學習圖形操作模式,自然就能觸類旁通、輕而易舉,經過前面單元的學習和演練,相信讀者已經具備完整的基礎,這個單元我們就來介紹 Git GUI這個圖形界面操作程式的用法,
第四部分遠程Git檔案庫和團隊開關模式
截至當前為止,我們操作的 Git檔案庫都是存盤在程式專案的檔案夾內(也就是“.git”的檔案夾內),隨著程式專案的進展,我們會把不同階段的檔案內容加入Git檔案庫,這個Git檔案庫是由我們直接操控,稱它為“本地 Git檔案庫(local repository)”,除了“本地 Git檔案庫”以外,如果需要和其他人共同開發這個程式專案,還需要一個所謂的“遠程Git檔案庫(remote repository)”,這個單元我們就來介紹“遠程 Git檔案庫”的功能和用法,
重點把這一塊的內容拿出來,因為它這個Git遠程檔案庫跟我把GitHub當成百度網盤使用有異曲同工之妙,但是我的方案還是有一點不足,在看完這份檔案之后才想到改進方案
第五部分架設Git Server
這個單元先介紹兩種訪問遠程 Git檔案庫最簡單的做法,這兩種方法都不需要安裝任何其他軟體,
第一種是使用Windows作業系統本身的網路“共享檔案夾”功能;
第二種是使用Git內建的 dacmon功能,
附錄Git常用指令—覽表
Git總共提供了超過一百個以上的指令讓我們執行各種操作可以使用“git help -a”指令顯示完整的指令串列),每一個指令又有許多選項可以搭配,但是我們不可能,也不需要完全記住這些指令,就實用性而言,只要熟練部分指令和選項的用法,就可以滿足—般應用的需求,以下我們將常用的 Git指令,按照字母順序串列說明,以方便讀者查閱,
關注公眾號:Java架構師聯盟,每日更新技術好文
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/132221.html
標籤:Java
