Git使用教程之本地倉庫的基本操作
Git是什么?
一個分布式版本控制系統(tǒng),和SVN類似,但遠比SVN強大的一個版本控制系統(tǒng) ①Git可以方便的在本地進行版本管理,如同你本地有一個版本管理服務(wù)器一樣 我們可以選擇在合適的時間將本地版本推送到統(tǒng)一的版本管理服務(wù)器 ②Git每次會提取整個代碼倉庫的完整鏡像,相當于對整個代碼倉庫都進行了一次備份,這樣計時版本服務(wù)器除了問題,我們可以直接采用本地倉庫恢復!結(jié)合本地版本管理功能,遠程版本管理服務(wù)器出問題了,我們依然能繼續(xù)寫自己的代碼,當他恢復的時候我們再提交我們的本地版本! Git研發(fā)初期是為了更好的管理Linux內(nèi)核,不過現(xiàn)在已經(jīng)廣泛應(yīng)用于各種項目中!
安裝Git
如果你的系統(tǒng)是Linux的話,直接打開shell輸入:
當然,大部分的系統(tǒng)估計都是Windows,這就需要我們到網(wǎng)上下載一個Git For Window了,可到下述網(wǎng)站下載:https://git-for-windows.github.io/點擊 Download,跳轉(zhuǎn)到 Github ,下載對應(yīng)安裝包即可!
點擊后進入頁面,下載如下文件即可
或者直接下載目前最新版2.7.0:v2.7.0.windows.1接著傻瓜式的下一步就可以了~ 接下來你可以找到Git Gui然后開始玩Git,不過如果以后換到其他平臺上,沒有圖形化界面你就寸步難行了! So,如果你有興趣的話,我們來玩命令行,以后換了系統(tǒng)也能正常的玩Git!
玩轉(zhuǎn)Git命令行
當然Git肯定是搭配著GitHub玩才夠味的,不過先來學習一些本地的指令先把! 當你安裝完Git后我們可以在任意位置右鍵,點擊Git bash打開我們的Git命令行! 你可以可以點擊Git Init Here直接在當前目錄下創(chuàng)建一個代碼倉庫,又或者點擊Git Gui打開Gui的圖形操作頁面!
1.創(chuàng)建代碼倉庫
Step 1:先配置下我們的身份吧,這樣在提交代碼的時候Git就可以知道是誰提交的,命令如下:
git congif --global user.email "779878443@qq.com"
配置完成后,我們可以再次輸入,不包括名稱,可以看到我們已經(jīng)配置成功了
Step 2:找個地方創(chuàng)建我們的代碼倉庫,然后我創(chuàng)建了一個新的項目:TestForGit,來到工程的目錄下,右鍵,打開我們的Git Bash,鍵入下述指令完成代碼倉庫的建立!另外這個代碼倉庫其實是用來保存版本管理所需的一些信息,我們本地提交的代碼都會提交到代碼倉庫中,于是乎我們可以選擇還原到某個版本,當然,如果需要的話,我們還可以將保存在代碼倉庫中的代碼推送那個到遠程倉庫中!比如GitHub!
git init
一個簡單的代碼,代碼倉庫就創(chuàng)建完畢了!繼續(xù)輸入:ls - al可以看到下目錄下有個.git的文件夾就是他了!
也可以打開工程目錄,同樣看也看到.git文件夾;如果我們想刪除代碼倉庫只需把這個文件夾刪掉即可!
2.提交本地代碼
創(chuàng)建完代碼倉庫,接下來說下如何提交代碼,我們是先用add命令把要提交的內(nèi)容都加進來,然后commit才是真的去執(zhí)行提交操作!命令例子如下,你可以一次次慢慢添加,當然也可以全部提交,直接git add .即可完成! 我們現(xiàn)在工程目錄下創(chuàng)建一個readme.txt的文件試試,隨便寫點東西,然后依次輸入下述指令:
git commit -m "Wrote a readme file"
輸入命令試試:
當然如果你可以add多個文件后再一次性commit,不過如果我們改動的文件很多的話,我們可以git add .一次添加全部,但有一些是幾百年都不變一次的又或者自動生成的,比如lib,gen,bin文件夾等等,我們可以在代碼倉庫的根目錄下創(chuàng)建一個名為.gitignore的文件,然后編輯里面的內(nèi)容,把不需提交的文件忽略掉!
接著輸入要提交時忽略的文件內(nèi)容即可!
那么我們git add .的時候,這里的文件就不會add,另外可能你會覺的commit后面寫-m "xxx"很麻煩,想偷懶,但還是寫上吧!輸入的是本次提交的一些聲明,比如自己修改了些什么!就好像寫代碼的時候,你偷懶不寫注釋,過幾天你連自己寫的什么鬼都不知道...
3.查看修改內(nèi)容
好吧,前面我們用git add提交了整個項目到本地倉庫,接下來我們改點東西,然后使用git status可以查看 修改的部分,比如,我們刪掉MainActivity.java里的菜單的代碼以及多余的菜單相關(guān)的包!
他就會提示我們哪些文件發(fā)生了改變,但是還沒有提交,如果我們想看下具體更改了什么,我們可以用到git diff命令,另外,按Q可以退回命令行輸入!
4.查看提交記錄
當然隨著我們項目的深入,Commit的次數(shù)也會越來越多,可能你早已忘記每次提交都修改了什么內(nèi)容, 沒事,Git幫你記著呢,使用git log即可查看歷史提交信息!鍵入
git log
回車:
我們?nèi)∑渲幸恍〔糠謥矸治觯?/p>
Author: coder-pig <779878443@qq.com>
Date: Fri Jun 19 17:00:36 2015 +0800
MainActivity Delete Menu
依次是:
此次提交對應(yīng)的版本號
提交人:姓名 郵箱
提交的時間
提交版本修改的內(nèi)容:就是我們commit -m "xxx"里的xxx
5.撤銷未提交的修改
比如我們剛提交了一個版本,然后又亂七八糟地寫了一堆東西,突然發(fā)現(xiàn)不小心誤刪了一些東西,然后ctrl + s保存了,這個時候是不是欲哭無淚,不過有Git,只需一個checkout命令即可撤銷更改,當然是你還沒add的情況,比如我們在MainActivity里隨便添加一條語句,然后ctrl + s保存代碼!
然后命令行鍵入:git diff:
嗯,這里可以看到我們改的內(nèi)容,我們可以回去把這句代碼刪掉,但是如果改的有上千行你怎么改, 于是乎這個時候我們可以使用
然后會神奇的發(fā)現(xiàn),我們新寫的代碼沒了!duang一下就沒了,不信你可以自己試試
當然,如果我們已經(jīng)add了的話,那么checkout是沒任何作用的,我們要先取消添加才可以撤回提交,使用下述指令:
git checkout src/com/jay/example/testforgit/MainActivity.java
6.版本回退
第五點我們教了大家撤銷未提交的修改,但加入提交了,我們想回退到之前的某一個版本怎么辦? 第四點中我們可以通過git log查看我們的提交記錄,我們需要從這里獲取一個版本號, 一般我們只需要前七位字符就夠了;另外在Git中,用HEAD代表當前版本,上一個版本就是HEAD^, 再上一個版本就是HEAD^^依次類推!我們先Git Log看下版本歷史先!
我們回到前一個提交的版本吧,依次鍵入下述指令:
git reset --hard HEAD^
git log
這時看下我們的控制臺:
可以看到我們已經(jīng)回退到了前一個版本了,當然你可以直接這樣寫:
就是這么簡單!回退后,你突然后悔了,想回退回新的那個版本, 可是遺憾的是,你鍵入git log卻發(fā)現(xiàn)沒有了最新的那個版本號,這怎么辦呢... 沒事,Git中給你提供了這顆"后悔藥",Git記錄著你輸入的每一條指令呢!鍵入:
你會發(fā)現(xiàn),版本號就在這里:
然后鍵入:
可以看到我們又回到了最新的那個版本了,就是這么溜!
7.本節(jié)小節(jié)
本節(jié)給大家介紹了項目管理工具Git來管理我們的本地倉庫,學習了一些基本的命令行操作,相信會給你的項目開發(fā)帶來便利,當然本地遠遠是不夠的,下一節(jié)我們將學習如何將我們的項目托管到GitHub上!敬請期待~