什么是Git?
Git是一個分布式的版本控制,前端必備
作者:Linus Torvalds
Git提供以下功能
- 備份文件
- 記錄歷史
- 回到過去
- 多端共享
- 團隊協(xié)作
- 開源協(xié)作
安裝Git
msysgit 是Windows版的Git,從 http://git-scm.com/ 下載,然后按默認選項安裝即可。
安裝完成后,在開始菜單里找到“Git”->“Git Bash”,蹦出一個類似命令行窗口的東西,就說明Git安裝成功!
創(chuàng)建版本庫
創(chuàng)建一個空目錄
$ mkdir gitPackage
$ cd gitPackage
$ pwd //用于顯示當前目錄
初始化倉庫
$ git init
git init創(chuàng)建了一個空的倉庫(empty Git repository),在gitPackage這個目錄下多了.git的目錄,這是Git用來追蹤管理版本庫的,千萬不能手動去修改它。
$ ls -al //可查看隱藏文件
添加文件
$ echo cjj > index.html //把cjj輸出到新創(chuàng)建的index.html文件中 > 表示清空并寫入
$ echo 2333 >> index.html // >> 表示在原文件的末尾追加
把文件添加到倉庫中的暫存區(qū)
$ git add index.html //沒有任何顯示,說明添加成功
$ git commit -m "first commit" //把文件提交到倉庫
查看倉庫當前狀態(tài)
$ git status
$ git status -s //加上-s參數(shù)可以用精簡方式
$ git diff //如果文件被修改過,可查看修改內(nèi)容
$ git diff //可查看工作區(qū)和暫存區(qū)的差異。
$ git diff HEAD // 可查看工作區(qū)和HEAD(當前工作分支)相比的差異
$ git diff --cached //可查看暫存區(qū)和歷史區(qū)的差異.
查看歷史
$ git log
版本回退
$ git reset --hard HEAD^ //把歷史區(qū)重置到上一個提交,可以把HEAD^換成上一個 commit id
如果回退了上一個版本,而你又反悔了,想回到最新的版本,該怎么做呢?只要上面的命令行窗口沒有被關(guān)掉,可以找到add diff的commit id,再輸入以下命令就可以了。
$ git reset --hard (commit id)
如果你回退到某個版本,關(guān)掉了電腦,第二天又后悔了,卻找不到commit id,怎么辦呢?
$ git reflog //用來記錄操作的每一次命令
查看你想要的版本id,再reset一下就ok啦。
git reset擴展
- $ git reset –mixed:此為默認方式,不帶任何參數(shù)的git reset,即時這種方式,它回退到某個版本, 工作區(qū) 不變,回退歷史區(qū) 和 暫存區(qū)
- $ git reset –soft:回退到某個版本,只回退了歷史區(qū)的信息,工作區(qū) 和 暫存區(qū) 都不變
- $ git reset –hard:徹底回退到某個版本,回退 工作區(qū)、歷史區(qū)和 暫存區(qū) 。
創(chuàng)建分支
$ git checkout -b dev //創(chuàng)建并切換
$ git branch //查看當前分支
之后創(chuàng)建文件在提交,于是dev分支的工作完成后,切換回master。
$ git checkout master
$ git merge dev //合并分支
$ git branch -d dev //合并完成后刪除分支
隱藏工作臺
$ git stash //把工作現(xiàn)場存儲起來
$ git stash list //查看存儲起來的工作現(xiàn)場
$ git stash pop //恢復(fù)工作現(xiàn)場
更多可參考git簡易指南