一直都想學(xué)習(xí)git,用于版本控制工具,之前用的是svn集中式的版本控制工具碾局,聽說git是一種分布式的版本控制工具荆残,每個客戶端都是一套完整的版本庫。
git安裝
- Mac 下默認會安裝git净当,可以用
git --version
内斯,來查看是否安裝了git。
- 如果沒有安裝像啼,那么可以通過homebrew安裝git.
$ brew install git
git使用
版本控制的簡單使用俘闯,無非分為版本庫的建立,文件的添加忽冻,注釋的添加真朗,文件的更改,文件的回顧僧诚,分支代碼的管理....
版本庫的建立
- 在本地文件系統(tǒng)中建立個文件夾
mkdir learngit
- 將文件夾變?yōu)間it可以管理的倉庫
git init
- 初始化完成之后遮婶,在learngit 文件夾中會多三個隱藏文件,多出的文件應(yīng)該是git的元數(shù)據(jù)信息湖笨。
在版本庫中新增文件
- 在learngit中新增readme.txt
vi readme.txt
- 告訴git 旗扑,我要在倉庫里添加文件了--
git add readme.txt
- 告訴git,我要將添加的文件提交到倉庫里 --
git commit -m "注釋信息"
- 使用
git status
慈省,可以查看當然倉庫的信息臀防。
將本地倉庫同步到碼云
- 這里的用戶名是你要設(shè)置的git的全局姓名或昵稱
git config --global user.name "用戶名"
- 設(shè)置的全局郵箱地址
git config --global user.email "郵箱地址"
- 連接遠程倉庫
git remote add origin [https://git.oschina.net/username/cccc.git](https://git.oschina.net/shenyanlong/cccc.git)
- 將文件上傳到碼云
git push -u origin master
版本回退
查看變更日志
git log
,commit后的為提交的ID回退到哪個版本
git reset --hard HEAD~12
,回退上個版本HEAD^
,回退到上上個版本HEAD^^
,回退到上100個版本HEAD~100
回退到具體版本號的方式--
git reset --hard d94d0d
版本號不用寫全袱衷,git會自己匹配的琼锋,但是也不能只寫前幾位,可能會重復(fù)祟昭。git回退版本非陈瓶玻快,因為是指針引用的形式篡悟,只要改變引用就可以了谜叹。
工作區(qū)和暫存區(qū)
能看見的目錄文件,就是工作區(qū)搬葬。
在.git隱藏文件夾為版本庫荷腊,版本庫中有個區(qū)域為stage 暫存區(qū)。
添加改變
git add
急凰,是將文件添加到暫存區(qū)女仰。提交文件
git commit
,將暫存區(qū)的文件提交到分支中
管理修改
git管理的不是文件,而是每次的修改抡锈,對每次的修改進行管理疾忍。如果先進行一次add,在修改文件床三,再commit一罩。提交到版本庫里的文件是不包括最近一次修改。修改都要先提交暫存區(qū)撇簿,要不修改提交不到版本庫聂渊。
撤銷
- 如果想撤銷工作區(qū)的修改(修改和刪除)
git checkout -- filename
- 撤銷暫存區(qū)的修改
git reset HEAD filename
,再執(zhí)行git checkout -- filename
- 撤銷版本庫的更改
git reset --hard HEAD~100
刪除文件
- 刪除文件
git rm filename
git commit -m "注釋"