Git之2分鐘入門html
普通人:「借我1000塊錢」。程序猿:「借你1024吧,湊個整」。python
今天是1024,是咱們程序員的節日,在此,首先祝各位程序猿以及程序媛們節日快樂~而後送出一份節日禮物,沒錯,就是git的兩分鐘入門。固然了,這是我今天抽時間翻譯過來的,原文在這裏,翻譯的有不對的地方歡迎指出。git
有感於「Git in 5 Minutes」,我決定進一步寫一個更短的入門教程。固然,這是極爲簡單的git教程。可是它對於初期的獨立開發者來講已經足夠了,並且它爲你的成長創建了基礎。程序員
舉例來講,一個須要完成他或是她第一份編程做業並且不肯與他人分享代碼的高中生可可能從這份入門指導中獲益。(我想,尤爲對個人兒子有幫助,他已經寫了至關多的代碼,可是不想花時間學習版本控制系統。這是專門爲他而寫,固然也想對其餘人有所幫助。)它使我兒子明白如何使用git。Git和Subversion不一樣,我兒子能夠很容易的使用它,而徹底不須要服務器(只要他按期在他的硬盤驅動上作備份。)。在2分鐘的入門教程中,無需擔憂服務器,這簡直太完美了。編程
再次重申,這個使用Git的教程僅僅適合有按期備份習慣的獨立開發者。2分鐘的Git入門,外加備份的策略,你能夠安心的提交文件,若是須要的的話,你能夠看到文件的更改或者恢復到早期的版本。python3.x
爲何這很重要?好吧,一個開發者所經歷的最惱人而且最耗時的經歷無過於發現程序原先能夠正常運行,可是改過以後就不行了。在這個情景下,能輕易看到改動而且能夠回到先前的版本無疑是雪中送炭。並且,能夠迴歸歷史版本可讓你更加自由的實驗新的方法-隨意倒騰,由於你能夠重頭再來。服務器
當你有一個機會,你應該清楚的學習有關諸如staging,branching,pushing到一個遠程版本庫,以及從一個遠程版本庫pulling。可是在這你將學到終身受用的東西。學習
開始使用gitspa
若是你還沒有安裝git,在這裏看安裝指導。.net
第一次使用git,咱們假定你正在一個你工程項目的一個主文件夾工做。你須要作的第一件事是初始化你的文件夾以便使用git:
1 git init
告知git你要添加的文件
如今你須要告知git它須要關心哪些文件。若是你有N個文件,你能夠這樣來添加它們:
1 git add <file1> <file2> … <fileN>
或者若你想添加文件夾中的每個文件,你能夠這麼作:
1 git add .
PS:那個點是命令的一部分,表明當前文件夾
提交更新
接下來,咱們須要提交更新。任什麼時候間若是你想要提交一個或多個文件,執行下面指令:
1 git commit <file1> <file2> … <fileN> -m 「This is your commit message"
或者,你也能夠提交全部自上次提交以後已更改的文件:
1 git commit -a -m 「This is your commit message for all changed files"
確保你的提交信息包含足夠的描述信息,以便使你能夠分辨出你想回歸的版本。
查看歷史版本
如今咱們須要一個有效的方式來查看歷史版本。爲了連同每一個版本的「哈希」看你的提交信息(這個數字指的是版本),你可使用以下的命令在一個版本號一行的輸出中顯示它們:
1 git log --pretty=oneline
這命令會給你提供相似下面的輸出,顯示每一個提交的哈希以及它們的提交信息:
1 wanted to commit 2 13bbf385e6d1f94c7f11a4cdfa2a7688dfdd84f8 3rd 3 a1696f671fb90dc8ea34645a6f851d0ab0152fc2 2nd version 4 179e59467039c7a7b81f676297415c8e018542a0 first version
PS:你也能夠用
1 git log
來得到更多詳細的輸出,每一個版本會有更多行,你一樣能夠用
1 git log --pretty=oneline -- <filename>
來看一個文件的更新信息。
PS:兩個破折號後面有一個空格。
恢復一個歷史版本
最終,爲了恢復到一個早期的版本,你只須要用哈希的第一個極少的字符(足以分辨它):
1 git checkout <hash> -- <filename>
例如:
1 git checkout 179e59467039 -- myfile
將會把你的文件名爲myfile內容恢復到179e59467039c7a7b81f676297415c8e018542a0的哈希映射的版本(這個狀況下,是文件第一個提交的版本)。
查看變化
若是你沒有第一次檢查變化的內容的話,你將不會想要檢索一個文件的歷史版本。爲了查看一個文件的當前版本和歷史版本的不一樣,你參考歷史版本的哈希:
1 git diff <hash> -- <filename>
你也能夠比較兩個歷史版本:
1 git diff <hash1> <hash2> -- <filename>
還有一件事-可選-可能會多佔用一分鐘
當你能夠從上述的特性中得到不少好處,這裏你會發現更多的有用的東西。若是你不想它如今打擾你,換個時間看。
有時,你不肯定什麼文件更改了,爲了找到它,你能夠用:
1 git status
這將生成一個有文件狀態的文件列表。好比說,一個文件沒有被「git add」過,將被列爲未跟蹤的:若是它是一個你關心的文件,你應該添加它。
我想把這個命令「可選」放在這個兩分鐘教程的緣由是它有點笨。由於它能夠列出大量你不關心的文件。好比說,若是你用python編程,它將會顯示python生成的已編譯的.pyc文件。而後你可能會想作些什麼。
爲了解決這個問題,你須要在你的項目目錄裏建立一個名爲.gitignore的文件。好比說,若是你用python2.X編程,你可能想要包含(至少):*.pyc
PS:.gitignore識別*通配符。
若是你想隱藏整個文件夾,你能夠在文件名後加斜線。好比你用python3.x,編譯的文件被放在一個名爲__pycache__,因此你將想在.gitignore中添加以下字符:
__pycache__/
以上就是所有。只要保證這個入門教程在手邊。
這就是全部你須要知道的有關git的準備工做,只要你有周期性在硬盤驅動上備份的習慣。若是你除了主要的提交命令不想記憶任何的東西,那就把這個教程存爲書籤,那麼你將能夠提交、比對各個版本以及毫無困難的迴歸歷史版本!
記住,這個教程是儘量簡單的讓你可使用git作些有用的事。若是想得到更爲強大的特性諸如branching, staging,以及經過遠程來分享你的代碼,那麼就移步到「Git In Five Minutes」,若是有機會的話甚至能夠去更詳盡一點的git教程。