• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Git教程
    Git標簽管理
    Git分支
    Git操作
    Git應用
    GitHub應用
    IDEA對于Git&GitHub的支持
    Git與GitHub使用注意事項

    Git教程

     

     

    Git 是一個開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。

     

    Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。

     

    Git 與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務器端軟件支持。

     

     

    Git官方網址是:https://git-scm.com/ ,打開后如下圖所示:

     

     

    本教程將介紹如何在分布式環境中使用 Git 進行項目版本控制,同時在基于Web和非基于Web的應用程序開發中工作。

     

     

    面向讀者

     

    本教程是為那些希望學習 Git 版本控制系統技能的程序員和專業人士而設計和編寫的。本教程還可以作為從零開始學習 Git 版本控制系統的入門教程。本教程將一步一步地演示和幫助初學者學習 Git 版本控制系統的基本功能。在完成本教程學習之后,您會發現自己在使用 Git 版本控制系統方面具有一定的專業知識,并能熟悉操作和使用 Git 工具。

     

     

    前提條件

     

    我們假設您將使用 Git 版本控制系統來處理各種Java或其它軟件開發的項目。因此,如果您的軟件開發生命周期可在一定程度曝光,或開發基于Web和非基于Web的應用程序的工作文檔,這將有利于學習和理解使用 Git 版本控制系統 。

     

     

    在學習Git需要清楚的幾個術語

     

     

    Workspace:工作區

     

    Index/Stage:暫存區,也叫索引

     

    Repository:倉庫區(或本地倉庫),也存儲庫

     

    Remote:遠程倉庫

     

    1. 有關幾個名詞解釋


    工作區: 通過git init創建的代碼庫的所有文件但是不包括.git文件(版本庫)

     

    暫存區: 通過git add ./*/*Xxx/Xxxx* 添加的修改,都是進入到暫存區了,肉眼不可見 通過 git status 可以看到修改的狀態。

     

    2. 什么是修改?

     

    比如你新增了一行,這就是一個修改,刪除了一行,也是一個修改,更改了某些字符,也是一個修改,刪了一些又加了一些,也是一個修改,甚至創建一個新文件,也算一個修改。

     

     

    特點

     

    分布式相比于集中式的最大區別在于開發者可以提交到本地,每個開發者通過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。


    下圖是經典的git開發過程。

     

    ● Git的功能特性:


    從一般開發者的角度來看,git有以下功能:


    ⒈從服務器上克隆完整的Git倉庫(包括代碼和版本信息)到單機上。


    ⒉在自己的機器上根據不同的開發目的,創建分支,修改代碼。


    ⒊在單機上自己創建的分支上提交代碼。


    ⒋在單機上合并分支。


    ⒌把服務器上最新版的代碼fetch下來,然后跟自己的主分支合并。


    ⒍生成補丁(patch),把補丁發送給主開發者。


    ⒎看主開發者的反饋,如果主開發者發現兩個一般開發者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然后再由其中一個人提交。如果主開發者可以自己解決,或者沒有沖突,就通過。


    ⒏一般開發者之間解決沖突的方法,開發者之間可以使用pull 命令解決沖突,解決完沖突之后再向主開發者提交補丁。


    從主開發者的角度(假設主開發者不用開發代碼)看,git有以下功能:


    ⒈查看郵件或者通過其它方式查看一般開發者的提交狀態。


    ⒉打上補丁,解決沖突(可以自己解決,也可以要求開發者之間解決以后再重新提交,如果是開源項目,還要決定哪些補丁有用,哪些不用)。


    ⒊向公共服務器提交結果,然后通知所有開發人員。

     

    ● Git優點


    ⒈適合分布式開發,強調個體。

     

    ⒉公共服務器壓力和數據量都不會太大。

     

    ⒊速度快、靈活。

     

    ⒋任意兩個開發者之間可以很容易的解決沖突。

     

    ⒌離線工作。

     

    ● Git缺點


    ⒈資料少(起碼中文資料很少)。

     

    ⒉學習周期相對而言比較長。

     

    ⒊不符合常規思維。

     

    ⒋代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。

     

     

     

    介紹

     

    Git --- The stupid content tracker, 傻瓜內容跟蹤器。Linus Torvalds 是這樣給我們介紹 Git 的。


    Git 是用于 Linux內核開發的版本控制工具。與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務器端軟件支持(wingeddevil注:這得分是用什么樣的服務端,使用http協議或者git協議等不太一樣。并且在push和pull的時候和服務器端還是有交互的。),使源代碼的發布和交流極其方便。 Git 的速度很快,這對于諸如 Linux kernel 這樣的大項目來說自然很重要。 Git 最為出色的是它的合并跟蹤(merge tracing)能力。


    實際上內核開發團隊決定開始開發和使用 Git 來作為內核開發的版本控制系統的時候,世界開源社群的反對聲音不少,最大的理由是 Git 太艱澀難懂,從 Git 的內部工作機制來說,的確是這樣。但是隨著開發的深入,Git 的正常使用都由一些友好的腳本命令來執行,使 Git 變得非常好用,即使是用來管理我們自己的開發項目,Git 都是一個友好,有力的工具。現在,越來越多的著名項目采用 Git 來管理項目開發.


    作為開源自由原教旨主義項目,Git 沒有對版本庫的瀏覽和修改做任何的權限限制。


    目前GIT已經可以在windows下使用,主要方法有二:msysgit和Cygwin。Cygwin和Linux使用方法類似,Windows版本的GIT提供了友好的GUI(圖形界面),安裝后很快可以上手,不在此做大篇幅介紹。


    本文將以 Git 官方文檔 Tutorial, core-tutorial 和 Everyday GIT 作為藍本翻譯整理,但是暫時去掉了對 Git 內部工作機制的闡述,力求簡明扼要,并加入了作者使用 Git 的過程中的一些心得體會,注意事項,以及更多的例子。建議你最好通過你所使用的 Unix / Linux 發行版的安裝包來安裝 Git, 你可以在線瀏覽本文 ,也可以通過下面的命令來得到本文最新的版本庫,并且通過后面的學習用 Git 作為工具參加到本文的創作中來。


    (Snake.Zero 注:以下假設環境為Unix/Linux,本次修正主要是版本問題,git-add git-init-db等命令都改為了類似git add形式的,以免誤導新手。)

     

     

    版本

     

    原始發行日期 最新版本 發布日期
    0.99 2005/7/11 0.99.9n 2005/12/15
    1.0 2005/12/21 1.0.13 2006/1/27
    1.1 2006/1/8 1.1.6 2006/1/30
    1.2 2006/2/12 1.2.6 2006/4/8
    1.3 2006/4/18 1.3.3 2006/5/16
    1.4 2006/6/10 1.4.4.5 2008/7/16
    1.5 2007/2/14 1.5.6.6 2008/12/17
    1.6 2008/8/17 1.6.6.3 2010/12/15
    1.7 2010/2/13 1.7.12.4 2012/10/17
    1.8 2012年10月21日 1.8.5.6 2014年12月17日
    1.9 2014年2月14日 1.9.5 2014年12月17日
    2 2014年5月28日 2.0.5 2014年12月17日
    2.1 2014年8月16日 2.1.4 2014年12月17日
    2.2 2014年11月26日 2.2.3 2015年9月4日
    2.3 2015年2月5日 2.3.10 2015年9月29日
    2.4 2015年4月30日 2.4.11 2016年3月17日
    2.5 2015年7月27日 2.5.5 2016年3月17日
    2.6 2015年9月28日 2.6.6 2016年3月17日
    2.7 2015年10月4日 2.7.4 2016年3月17日
    2.8 2016年3月28日 2.8.4 2016年6月6日
    2.9 2016年6月13日 2.9.3 2016年8月12日
    2.1 2016年9月2日 2.1 2016年9月2日
    2.13.3 2017年7月12日 2.13.3 2017年7月12日

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏