Git 簡單了解

作為一個程序猿,怎么可以不會 git 呢?今天我就給大家簡單介紹一下 git。

Git 是什么?

Git 是一個分布式版本控制軟件,最初由林納斯·托瓦茲(Linus Torvalds)創作。Git 是用于 Linux 內核開發的版本控制工具。與 CVSSubversion一類的集中式版本控制工具不同,它采用了分布式版本庫的作法,不需要服務器端軟件,就可以運作版本控制,使得源代碼的發布和交流極其方便。
看到這里,那么問題來了,版本控制系統又是什么呢?

版本控制系統是什么?

看見下面這個例子解釋版本控制系統,我覺得很容易理解。

如果你用Microsoft Word寫過長篇大論,那你一定有這樣的經歷:
想刪除一個段落,又怕將來想恢復找不回來怎么辦?有辦法,先把當前文件“另存為……”一個新的Word文件,再接著改,改到一定程度,再“另存為……”一個新文件,這樣一直改下去,最后你的Word文檔變成了這樣:

過了一周,你想找回被刪除的文字,但是已經記不清刪除前保存在哪個文件里了,只好一個一個文件去找,真麻煩。
看著一堆亂七八糟的文件,想保留最新的一個,然后把其他的刪掉,又怕哪天會用上,還不敢刪,真郁悶。
更要命的是,有些部分需要你的財務同事幫助填寫,于是你把文件Copy到U盤里給她(也可能通過Email發送一份給她),然后,你繼續修改Word文件。一天后,同事再把Word文件傳給你,此時,你必須想想,發給她之后到你收到她的文件期間,你作了哪些改動,得把你的改動和她的部分合并,真困難。
于是你想,如果有一個軟件,不但能自動幫我記錄每次文件的改動,還可以讓同事協作編輯,這樣就不用自己管理一堆類似的文件了,也不需要把文件傳來傳去。如果想查看某次改動,只需要在軟件里瞄一眼就可以,豈不是很方便?
這個軟件用起來就應該像這個樣子,能記錄每次文件的改動:



這樣,你就結束了手動管理多個“版本”的史前時代,進入到版本控制的20世紀。

現在知道了 Git 是一個很好的版本控制的工具,那么這么好的一個東西,該怎么使用呢?使用起來是否方便?下面,我們就一起來看一下 Git 的初級使用方法。

Git 的安裝

下面這個地址有詳細的在不同系統上的 Git 的安裝方法。
安裝 Git

獲取幫助

git help  //查看 git 參數```
通過 git help 可以查看 Git 命令的每個參數都是干什么的,方便使用。
![git help](http://upload-images.jianshu.io/upload_images/3122121-73abb6716ec51759.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

## Git 的初級使用方法
- 創建 Git 倉庫
創建一個新的項目目錄,并生成一些簡單的文件內容。

$ mkdir test
$ cd test
$ echo “hello,world” > readme.txt```
在項目目錄創建新的本地倉庫,并把項目里的所有文件全部添加、提交到本地倉庫中去:


git init  //在當前的目錄下創建一個新的空的本地倉庫
git commit -m ""  //把前目錄下的所有文件全部添加到暫存區
git status  //查看倉庫的狀態```
做完這些操作以后,大家可以點開剛才新建的那個文件夾,按 Ctrl + h ,可以發現現在文件夾中多了一個 .git 文件。這個目錄是 Git 用來跟蹤管理版本庫的,不要輕易動這個文件啊!!!不然,一不小心就把 Git 倉庫給破壞了。

![](http://upload-images.jianshu.io/upload_images/3122121-cfaa9413964d9765.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
通過上面的步驟,就已經建好了一個空的倉庫。
- 把文件添加到版本庫
  +  ##### Git 的三種狀態
Git 系統上的文件有三種狀態已修改(modified)和已暫存(staged)、已提交(committed)。
    - 已修改表示修改了文件,但還沒保存到數據庫中。
    - 已暫存表示對一個已修改文件的當前版本做了標記,使之包含在下次提交的快照中。
    - 已提交表示數據已經安全的保存在本地數據庫中。

![](http://upload-images.jianshu.io/upload_images/3122121-526bc65c34562657.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
因為 Git 的三種狀態,所以要將一個文件放到 Git 倉庫只需要兩步:
**第一步**

$ git add readme.txt //用 git add 命令告訴 Git,把文件添加到倉庫```
第二步

$ git commit -m "這里寫你本次提交的內容的說明,做好寫點有意義的,方便以后查找修改"  //用 git commit 告訴 Git,把文件提交到倉庫
//commit 可以一次提交很多文件,所以你可以一次性 add 不同的文件,然后再統一 commit```
通過這兩步,就可以將文件添加到 Git 倉庫了。是不是很簡單?
未完待續。。。。。。后續將會寫一寫具體的某些情況的操作,到時候鏈接都會貼在這里。

貼上幾個 Git 相關的學習的網址,有興趣的可以看一下。
[視頻教程《版本控制入門 – 搬進 Github》](http://www.imooc.com/learn/390)
[Git簡明指南](http://rogerdudler.github.io/git-guide/index.zh.html)
[免費的git書箱](https://www.gitbook.com/book/bingohuang/progit2/details)
[Git 常用命令手冊](https://bbs.excellence-girls.org/topic/166)
[常用 Git 命令清單](http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html)
[廖雪峰的git在線教程](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
[Git 學習資源匯總](http://www.lxweimin.com/p/55496ff224e9)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容