安裝 GIT
Git 是一個(gè)工具播揪,要想用的話(huà)必須的先安裝才可以。類(lèi)似于你做 java 開(kāi)發(fā)的話(huà)需要安裝 JDK彤恶。
- Linux 安裝
$ apt-get install git
- Windows 安裝
從官網(wǎng)下載 Git 安裝文件卸耘,直接安裝即可。安裝完成之后會(huì)在右鍵菜單出現(xiàn)一個(gè)Git Bash Here
的選項(xiàng) 越驻,點(diǎn)擊出現(xiàn)一個(gè)類(lèi)似命令行窗口的東西說(shuō)明安裝成功。
最后一步請(qǐng)配置下你的 Git 工作環(huán)境道偷。輸入如下命令即可:
$ git config --global user.name "your name"
$ git config --global user.email "example@example.com"
每次 Git 提交時(shí)都會(huì)引用這兩條信息 缀旁,說(shuō)明是那個(gè)用戶(hù)提交了更新。注意 --global
參數(shù)勺鸦,表示你這臺(tái)電腦上所有的 Git 倉(cāng)庫(kù)都會(huì)默認(rèn)使用這個(gè)配置的用戶(hù)信息并巍。如果要在某個(gè)特定的 Git 倉(cāng)庫(kù)使用其他信息,只要去掉 --global
選項(xiàng)重新配置即可换途。
如何學(xué)習(xí)
學(xué)習(xí) Git 有很多圖像化操作界面可供選擇懊渡,但我還是建議你從命令行開(kāi)始嘶窄,這樣子你會(huì)深刻理解每一步操作的意義,只有知其所以然了才會(huì)更少的犯錯(cuò)誤距贷,而當(dāng)你熟悉了命令行之后任何圖形界面操作當(dāng)然不在話(huà)下柄冲。而且你不覺(jué)得敲命令挺酷的嘛!嘚瑟.jpg忠蝗。
常用命令
- 初始化版本庫(kù)
首先先創(chuàng)建一個(gè)空的文件夾 git_test
现横。
$ mkdir git_test
$ cd git_test/
溫馨提醒:為了防止各種意外,Win 用戶(hù)請(qǐng)確保你的文件夾絕對(duì)路徑不包含中文阁最。
下面我們來(lái)執(zhí)行一個(gè)命令來(lái)看看戒祠。
$ git status
fatal: Not a git repository (or any of the parent directories): .git
意思是說(shuō)當(dāng)前目錄不是一個(gè) Git 倉(cāng)庫(kù)。
那我們就把該目錄初始化為一個(gè) Git 倉(cāng)庫(kù)速种。
$ git init
Initialized empty Git repository in F:/doc/git_test/.git/
空的倉(cāng)庫(kù)姜盈,同時(shí)在目錄下多了一個(gè) .git 的隱藏目錄。這個(gè)目錄是用來(lái)記錄當(dāng)前版本庫(kù)的信息的配阵,絕對(duì)不可以動(dòng)這個(gè)目錄里面的文件馏颂。
再次執(zhí)行 git status
$ git status
On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)
位于 master
分支上,這個(gè)分支是 Git 默認(rèn)幫我們創(chuàng)建的棋傍,關(guān)于分支的概念后面會(huì)講救拉。而且告訴我們沒(méi)有東西可以提交,創(chuàng)建或者復(fù)制文件到該目錄然后使用 git add
命令告訴 Git 追蹤版本信息瘫拣。
那就創(chuàng)建一個(gè)新的文件吧亿絮。
touch hello.md
再次執(zhí)行 git status
$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
hello.md
nothing added to commit but untracked files present (use "git add" to track)
提示 hello.md 是 Untracked file,也就是這個(gè)文件還沒(méi)有被 Git 追蹤麸拄。
- 添加文件到版本庫(kù)「準(zhǔn)確來(lái)講應(yīng)該是緩存區(qū)」
$ git add hello.md
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: hello.md
提示說(shuō)等待被提交派昧, 可以使用 git rm --cached <file>
命令來(lái)移除緩存。
- 提交文件到版本庫(kù)
$ git commit -m 'fitst commit'
[master (root-commit) aa415b2] fitst commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 hello.md
提示說(shuō)一個(gè)文件被改動(dòng)拢切,0 行被添加蒂萎,0 行被刪除。因?yàn)?hello.md 是空文件嘛失球。-m
后面跟的是本次提交的說(shuō)明岖是,最好是有意義的帮毁,以便后續(xù)可以快速方便的查找更改記錄实苞。
$ git status
On branch master
nothing to commit, working directory clean
位于分支 master
,沒(méi)有文件等待被提交烈疚,干凈的工作區(qū)黔牵。
總結(jié)
- 初始化一個(gè)版本庫(kù):
git init
- 添加文件到版本庫(kù)
-
git add <file>
添加文件到緩存區(qū) -
git commit -m 'info'
提交文件到版本庫(kù)
-
為啥添加一個(gè)文件到版本庫(kù)需要兩步呢,緩存區(qū)的存在是 Git 跟其他版本控制系統(tǒng)最大的區(qū)別之一爷肝,理解了緩存區(qū)猾浦,就可以深刻理解后面的很多操作陆错。另外,可以多次執(zhí)行 git add <file>
添加多個(gè)文件到緩存區(qū)金赦,然后一次性提交即可音瓷。