Git兩分鐘指南

jopen 9年前發布 | 14K 次閱讀 Git 版本控制系統

受到Git五分鐘指南的啟發,我決定更進一步,寫一篇更短時間內就能看完的Git教程。當然,這是指最簡單的Git!但是對于新手個人開發者來說足夠了,同時也給你提供一個可以繼續深入的起點。

能夠從本指南有所收獲的例子也許是這樣的,一個高中生正在進行他(或是她)的第一個項目,而且并不需要和別人分享代碼。(具體講其實是我兒子,他已經寫了很多代碼,但是沒有時間去學習一個版本控制工具。這份指南是為他寫的,當然我覺得別人也能用的到。)對他來說,使用Git是很有意義的。和 Subversion不同,他不需要一個服務器,就可以很容易地使用Git(只要他對硬盤進行定期備份,當然,他確實也在這么做)。正好在一個兩分鐘的指南中,沒有時間去涉及服務器的事情,所以這篇指南對類似我兒子這種情況特別合適。

再次強調,本文提及的Git使用方法,僅對那些會定期備份硬盤的個人開發者來講是合適的。兩分鐘Git指南加上一個備份策略,你可以自信的提交文件并且知道如果自己需要的話,你可以查看改動或是恢復之前的版本。

為什么學習Git如此有必要?好吧,對于開發者來講,最煩人、最耗費時間的事情就發現之前可以工作的程序現在無法工作了。在這種情況下,能夠看到之前的改動并且回退到之前的版本會有很大的幫助。同樣的,能夠回退到之前的狀態可以讓你自由的測試新的方法–做實驗完全沒有問題因為你總是可以重來。

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

使用前的設置

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

git init

告訴git你要處理的文件

現在你需要告訴git,需要考慮哪些文件。如果你有N個文件,你可以使用

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

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

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教程,如果有機會甚至應該去看更長的教程!

來自:http://www.techug.com/two-minites-git-guide

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