Git版本控制軟件結合GitHub從入門到精通常用命令學習手冊

git版本控制軟件

注意:

學習前請先配置好Git客戶端

相關文章:Git客戶端圖文詳解如何安裝配置GitHub操作流程攻略

官方中文手冊:http://git-scm.com/book/zh

</blockquote>

GIT 學習手冊簡介

本站為 Git 學習參考手冊。目的是為學習與記憶 Git 使用中最重要、最普遍的命令提供快速翻閱。 這些命令以你可能需要的操作類型劃分,并且將提供日常使用中需要的一些常用的命令以及參數。

本手冊將從入門到精通指導大家。 首先,我們要從如何以 Git 的思維方式管理源代碼開始。

如何以 GIT 的方式思考(這里可以不用看懂,接著看下面的內容,看完就全懂了。

懂得 Git,第一件重要的事情就是要知道它與 Subversion、Perforce 或者任何你用過的版本控制工具都有著很大的差別。 通常,忘掉你預想的版本控制方式,改以 Git 的方式思考,能夠幫助你更好地學習 Git。

讓我們從頭開始。假設你正在設計一個新的源代碼管理系統。在你使用某個工具之前,是如何完成基本的源碼版本控制工作的呢? 十有八九,你只是在項目到達某些階段的時候,對項目做一份拷貝。

 $ cp -R project project.bak

這樣,你就可以在事情變得一團糟的時候很方便的返回到之前的狀態,或者通過對比當前的項目與之前的拷貝,看看自己在之后的工作中,都做了哪些修改。

如果你有點偏執,你可能會經常作上面說的事情,或許還會給項目拷貝加個日期:

 $ cp -R project project.2010-06-01.bak

如此,你就有了一堆項目在各個階段的快照,來作比較、查看。使用這種模式,你還可以有效地與人分享項目變更。 如果你會在項目到達一定階段的時候給它打個包,丟到自己的網站上,那其他的開發者們,就能很方便地下載它,做點改動,并給你補丁回饋。

 $ wget http://example.com/project.2010-06-01.zip
 $ unzip project.2010-06-01.zip
 $ cp -R project.2010-06-01 project-my-copy
 $ cd project-my-copy
 $ (做了某些修改)
 $ diff project-my-copy project.2010-06-01 > change.patch
 $ (通過E-mail發送修改補丁)

以此方式,原先的開發者就能將其他人的改動應用到他的項目中去,其他開發者也能了解你做的變更。其實這便是許多開源項目采用過多年的協作方式。

這辦法其實很好使,所以假設我們現在想要寫個工具,讓這個辦法更快、更簡單。 我們與其實現一個工具以記錄每個文件的版本,可能不如去實現個工具以使創建、儲存項目的快照更加方便,不用每次都去人肉作整個項目的拷貝。

這就是 Git 的精要所在。你通過 git commit告訴 Git 你想保存一份項目快照, Git 就會為你的項目中的各個文件的當前狀態存一份記錄。之后,絕大部分的 Git 命令都圍繞這些記錄展開。 比如查看它們的區別(diff),提取它們的內容,等等。

snapshots git
如果你將 Git 看作一個排序、對比以及合并項目更新的工具,那就容易理解狀況和正確做事了。

一、獲取與創建項目

你得先有一個 Git 倉庫,才能用它進行操作。倉庫是 Git 存放你要保存的快照的數據的地方。

擁有一個 Git 倉庫的途徑有兩種。在已有的目錄中,初始化一個新的,其一。 比如一個新的項目,或者一個已存在的項目,但該項目尚未有版本控制。如果你想要復制一份別人的項目, 或者與別人合作某個項目,也可以從一個公開的 Git 倉庫克隆,其二。本章將對兩者都做介紹。

Git使用前配置

如果設置了,在輸入命令示界面可以很方便的使用復制和粘貼(用左鍵選取要復制的,點右鍵直接就可以復制,粘貼時只需點一下右鍵。)設置方法:Git Bash快捷圖標(桌面圖標)右鍵屬性-選項,把快速編輯模式勾上就可以,如下圖:

git快速編輯模式配置

 

設置Git本地項目開發庫默認路徑

如果設置了,就不用每次打開Git再cd打開目錄了。方法:右鍵Git Bash快捷圖標(桌面圖標)屬性,找到快捷方式-起始位置,把你的項目地址放在這里就可以了。如下圖:

git默認項目開發庫路徑設置

配置本地用戶和郵箱

用戶名郵箱作用 : 我們需要設置一個用戶名 和 郵箱, 這是用來上傳本地倉庫到GitHub中, 在GitHub中顯示代碼上傳者;
使用命令 :

git config --global user.name "HanShuliang" //設置用戶名 
git config --global user.email "13241153187@163.com" //設置郵箱

git客戶端版本控制軟件

到此Git客戶端已安裝及GitHub配置完成,現在可以從GitHub傳輸代碼了。

git init 將一個目錄初始化為 Git 倉庫

在目錄中執行 git init,就可以創建一個 Git 倉庫了。比如,我們恰好有個目錄,里頭有些許文件,如下:

$ cd konnichiwa $ ls README   hello.rb

在這個項目里頭,我們會用各種編程語言寫 “Hello World” 實例。 到目前為止,我們只有 Ruby 的,不過,這才剛上路嘛。為了開始用 Git 對這個項目作版本控制,我們執行一下 git init

$ git init Initialized empty Git repository in /opt/konnichiwa/.git/

在 /opt/konnichiwa/.git 目錄初始化空 Git 倉庫完畢。</pre>

現在你可以看到在你的項目目錄中有個 .git 的子目錄。 這就是你的 Git 倉庫了,所有有關你的此項目的快照數據都存放在這里。

$ ls -a .        ..       .git     README   hello.rb

恭喜,現在你就有了一個 Git 倉庫的架子,可以開始快照你的項目了。

簡而言之,用 git init 來在目錄中創建新的 Git 倉庫。 你可以在任何時候、任何目錄中這么做,完全是本地化的。

</blockquote>

git clone 復制一個 Git 倉庫,以上下其手

如果你需要與他人合作一個項目,或者想要復制一個項目,看看代碼,你就可以克隆那個項目。 執行 git clone [url],[url] 為你想要復制的項目,就可以了。

$ git clone git://github.com/schacon/simplegit.git Initialized empty Git repository in /private/tmp/simplegit/.git/
remote: Counting objects: 100, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 100 (delta 35), reused 0 (delta 0)
Receiving objects: 100% (100/100), 9.51 KiB, done.
Resolving deltas: 100% (35/35), done.$ cd simplegit/ $ ls README   Rakefile lib 

上述操作將復制該項目的全部記錄,讓你本地擁有這些。并且該操作將拷貝該項目的主分支, 使你能夠查看代碼,或編輯、修改。進到該目錄中,你會看到 .git 子目錄。 所有的項目數據都存在那里。

$ ls -a .        ..       .git     README   Rakefile lib $ cd .git $ ls HEAD        description info        packed-refsbranches    hooks       logs        refs config      index       objects 

默認情況下,Git 會按照你提供的 URL 所指示的項目的名稱創建你的本地項目目錄。 通常就是該 URL 最后一個 / 之后的任何東西。如果你想要一個不一樣的名字, 你可以在該命令后加上它,就在那個 URL 后面。

簡而言之,使用 git clone 拷貝一個 Git 倉庫到本地,讓自己能夠查看該項目,或者進行修改。

</blockquote>

二、基本快照

Git 的工作就是創建和保存你的項目的快照及與之后的快照進行對比。本章將對有關創建與提交你的項目的快照的命令作介紹。

這里有個重要的概念,Git 有一個叫做“索引”的東東,有點像是你的快照的緩存區。這就使你能夠從更改的文件中創建出一系列組織良好的快照,而不是一次提交所有的更改。

簡而言之,使用 git add 添加需要追蹤的新文件和待提交的更改, 然后使用 git status 和 git diff 查看有何改動, 最后用 git commit 將你的快照記錄。這就是你要用的基本流程,絕大部分時候都是這樣的。

</blockquote>

 本文由用戶 suyuwen1 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!