Git兩分鐘指南

如下是Git兩分鐘指南的正文內容。git

受到Git五分鐘指南的啓發,我決定更進一步,寫一篇更短期內就能看完的Git教程。固然,這是指最簡單的Git!可是對於新手我的開發者來講足夠了,同時也給你提供一個能夠繼續深刻的起點。編程

可以從本指南有所收穫的例子也許是這樣的,一個高中生正在進行他(或是她)的第一個項目,並且並不須要和別人分享代碼。(具體講實際上是我兒子,他已 經寫了不少代碼,可是沒有時間去學習一個版本控制工具。這份指南是爲他寫的,固然我以爲別人也能用的到。)對他來講,使用Git是頗有意義的。和 Subversion不一樣,他不須要一個服務器,就能夠很容易地使用Git(只要他對硬盤進行按期備份,固然,他確實也在這麼作)。正好在一個兩分鐘的指 南中,沒有時間去涉及服務器的事情,因此這篇指南對相似我兒子這種狀況特別合適。服務器

再次強調,本文說起的Git使用方法,僅對那些會按期備份硬盤的我的開發者來說是合適的。兩分鐘Git指南加上一個備份策略,你能夠自信的提交文件而且知道若是本身須要的話,你能夠查看改動或是恢復以前的版本。工具

爲何學習Git如此有必要?好吧,對於開發者來說,最煩人、最耗費時間的事情就發現以前能夠工做的程序如今沒法工做了。在這種狀況下,可以看到之 前的改動而且回退到以前的版本會有很大的幫助。一樣的,可以回退到以前的狀態可讓你自由的測試新的方法–作實驗徹底沒有問題由於你老是能夠重來。學習

若是有機會的話,你絕對應該學一下暫存(staging)和分支(branching),還有向(從)遠端倉庫上傳(pushing)和獲取(pulling)。可是你下面要學到的東西一樣頗有用。 注意:下面提到的文件名,你均可以使用文件路徑。測試

使用前的設置

若是你尚未安裝git的話,請查看 Getting Started page上的安裝指南。 第一次使用git,咱們假定你正在一個文件夾內工做,該文件夾是你項目的主文件夾。你須要作的第一件事情是用下面這條命令來初始化文件夾供Git使用。spa

git init3d

告訴git你要處理的文件

如今你須要告訴git,須要考慮哪些文件。若是你有N個文件,你可使用版本控制

git add <file1> <file2> … <fileN>code

來添加他們。或是你想要把目錄下的文件所有添加,你可使用

git add . (句號是命令的一部分,表示當前目錄。)

提交改動

下一步,咱們須要提交改動。任什麼時候候,你想要提交一個文件或多個文件的改動,運行

git commit <file1> <file2> … <fileN> -m 「This is your commit message」

或者,提交所有有改動的文件:

git commit -a -m 「This is your commit message for all changed files」

確保你的提交信息可以包含足夠的描述信息,讓你能夠搞清楚你想要回退到哪一個版本。

查看歷史

如今你須要一個查看舊版本的方法。爲了查看提交信息和該次提交的hash值(表明版本的一串數字)可使用以下命令,使其以每行一個版本的方式輸出

git log –pretty=oneline

它的輸出看起來是下面這樣的,每次提交的hash值和它的提交信息一塊兒顯示

dbe28a0a1eba45d823d309cc3659069fc16297e3 4th version I wanted to commit
13bbf385e6d1f94c7f11a4cdfa2a7688dfdd84f8 3rd
a1696f671fb90dc8ea34645a6f851d0ab0152fc2 2nd versio
179e59467039c7a7b81f676297415c8e018542a0 first version

注意,你一樣可使用

git log

來輸出一個更冗長的信息,每一個版本信息佔用多行,並且你可使用

git log –pretty=oneline — <filename>

來查看某個具體文件的改動。(注意第二個–後面的空格!)

恢復舊版本

恢復以前版本的文件,你只須要使用hash值的前幾個數字(要保證足夠的區分度):

git checkout <hash> — <filename>

好比

git checkout 179e59467039 — myfile

會把個人名爲myfile的文件的內容回退到179e59467039c7a7b81f676297415c8e018542a0這個狀態(這裏是指本文件的第一次提交版本)

查看改動

一般你不會不先查看一下文件變化就回退到舊的版本!查看文件當前版本和歷史版本的區別,你須要指明歷史版本的hash值:

git diff —

你一樣能夠比較兩個歷史版本的差異:

git diff —

還有一件事——可選項——也許會讓本文多一分鐘

也許您僅僅使用以上功能就能夠受益不淺,你會發現還有一件事是頗有用的。若是你如今不想看的話,就別看了——找機會下次再看。 有時候,你不清楚有哪些文件被改動了。你可使用以下命令找到它們:

git status

這會生成一份文件列表以及他們的狀態。好比,一個尚未被’git add’ 的文件會被顯示爲untracked;如 果你想要追蹤這個文件,就須要添加它。 在個人兩分鐘教程中,我把這個命令當作可選項的緣由是,這個命令可能會有點笨拙。由於它可能會列出不少你並不關心的文件的狀態。舉例來講,若是你使用 Python語言編程,它會列出Python生成的編譯文件.pyc。你確定想解決這一問題。

爲了解決這個問題,你須要在目錄下建立一個叫.gitignore 的文件。好比你在使用Python 2.x的項目,你會但願在這個文件中(至少)包含:

*.pyc

注意,.gitignore` 能夠理解*通配符。若是你想要隱藏一個完整的目錄,你要在文件夾名後面加一個斜槓。例如你使用Python 3.x編程,全部的便以文件都會進入一個叫__pycache__ 的文件夾,因此你須要在.gitignore中添加

__pycache__/

這就是本教程! 把這份教程放在手邊就行啦

這些就是你開始使用git所須要知道的東西,只要你有按期備份硬盤的習慣。若是你不想要記憶除了提交命令之外的其餘東西,僅須要把本教程保存進書 籤,你就能夠無障礙的提交,對比版本,回退到舊版本! 記住,本教程準確來說是最小化教程,讓你能夠用Git作一些有用的事情。對於分支,暫存和經過遠程服務器和他人共享代碼這些強大的功能,請務必去看五分鐘 Git教程,若是有機會甚至應該去看更長的教程!(伯樂在線注:這篇《手把手教你使用Git》更加詳細,覆蓋了這篇簡要教程不少沒有涉及的內容)

相關文章
相關標籤/搜索