Git 學習筆記一
Git簡介
- Git是Linus開發的強大的開源版本控制軟件,能夠跟蹤文件修改軌跡以方便查看等。(對於文件內部改動,只能跟蹤文本文件,二進制文件只能夠跟蹤大小改變等外部性質)。
- 版本控制系統分爲集中式和分佈式,Git屬於分佈式控制系統,不必聯網。
Git安裝(以Windows爲例)
我使用的是Windows10系統,因此安裝的是Windows版本的Git。下面給出三種系統的Git安裝方式:
- Windows
- 下載Git安裝包,下載地址:https://git-for-windows.github.io
- 安裝之後,打開Git Bash,進行用戶名和電子郵件的配置。
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
如圖
這是因爲每個機器的操作需要提供自己必要信息(名稱和郵箱),另外,--global
屬性是指在該機器上所有的Git倉庫都應用該修改。
Linux
- 檢查是否安裝,在terminl中輸入
git
,若出現以下反饋$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
則說明沒有安裝。 - 在較新版本的Debian和Ubuntu,可以直接輸入
sudo apt-get install git
來完成Git的安裝。
- 檢查是否安裝,在terminl中輸入
- Mac OSX(兩種方法)
- 安裝homebrew,然後通過homebrew安裝Git,具體方法請參考homebrew的文檔:http://brew.sh/
- 安裝Xcode,Xcode集成了Git,不過默認沒有安裝,你需要運行Xcode,選擇菜單
Xcode->Preferences
,在彈出窗口中找到Downloads
,選擇Command Line Tools
,點Install
就可以完成安裝了。
- Windows
創建版本庫
版本庫(repository)是指一個能夠被Git管理、跟蹤其中文件變化的目錄。
創建一個版本庫,我們需要在一個你認爲合適的目錄下使用某命令將其設置爲版本庫。在此之前,我們先了解一些必需的命令(僅是基本功能介紹):
mkdir
:mkdir
<filename>
創建新目錄。cd
:cd
<path>
移動至指定目錄。pwd
: 顯示當前目錄。
如圖
- 現在,我們應該處在你想創建版本庫的目錄下了,在Git Bash中輸入
git init
命令,如下:$ git init
如圖
Initialized empty Git repository in D:/p/git/learngit/.git/
Git的使用
向版本庫中添加並提交文件
- 此處用txt文件爲例,建議不要使用Windows系統自帶的記事本進行編輯,應使用Notepad++(將格式設置爲以UTF-8 無BOM格式編碼)編輯。現在我們用它編輯一個txt文件,並以readme.txt的名字保存在你設置的版本庫目錄下。內容自定,比如
Git is a version control system.
如圖:
Git is free software.
- 現在我們就能夠在Git Bash中向版本庫添加文件了,輸入
git add readme.txt
,若無異常就表示已成功添加。 - 然後需要向版本庫提交文件,輸入
git commit -m"wrote a readme file"
。如圖
git commit
的-m
是用於傳遞提交信息的,爲了方便交互,儘量都帶着這條信息。- 另外,
git add
可以多次添加多個文件,git commit
命令可以一次提交多個文件。例如$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
查看版本庫狀態
- 現在讓我們修改一下readme.txt中的內容,將之前的內容替換保存爲
Git is a distributed version control system.
Git is free software. - 運行
git status
,會反饋如圖的信息,如圖
git status
命令可以讓我們時刻掌握倉庫當前的狀態,上面的命令告訴我們,readme.txt被修改過了,但該修改並未提交。
查看版本庫更改差別
- 雖然
git status
能夠告訴我們修改與否,但是具體的修改信息卻需要git diff
命令來實現。現在輸入git diff readme.txt
來檢查該文件前後差別。具體信息讀取可以參見Unix系統的diff命令信息。如圖
- 現在確認過修改無誤之後,我們使用
git add
+git status
+git commit
來完成一次工作流程。之後我們再次輸入git status
就會告知我們當前沒有未提交的修改,無需提交。具體過程如圖:
本文是本人學習廖雪峯git教程過程中的學習記錄,詳細教程可以參見廖雪峯Git教程