實習馬上就兩個月了,這兩個月的時間裏學到了不少知識,總體來說:長見識了!下面就爲大家介紹一下前端開發每天必用的工具-Git。
Git 是一個開源的分佈式版本控制系統,用於敏捷高效地處理任何或小或大的項目。
Git 與 SVN 區別
- Git 是分佈式的,SVN 不是:這是 Git 和其它非分佈式的版本控制系統,例如 SVN,CVS 等,最核心的區別。
- Git 把內容按元數據方式存儲,而 SVN 是按文件:所有的資源控制系統都是把文件的元信息隱藏在一個類似 .svn、.cvs
等的文件夾裏。 - Git 分支和 SVN 的分支不同:分支在 SVN 中一點都不特別,其實它就是版本庫中的另外一個目錄。
- Git 沒有一個全局的版本號,而 SVN 有:目前爲止這是跟 SVN 相比 Git 缺少的最大的一個特徵。
- Git 的內容完整性要優於 SVN:Git 的內容存儲使用的是 SHA-1哈希算法。這能確保代碼內容的完整性,確保在遇到磁盤故障和網絡問題時降低對版本庫的破壞。
下面這張圖就很好的詮釋了兩者的區別:
下載安裝
1、Windows地址:https://gitforwindows.org/
2、Mac地址:http://sourceforge.net/projects/git-osx-installer/
3、Linux地址:https://git-scm.com/download
配置
1、用戶信息:配置個人的用戶名稱和電子郵件地址
$ git config --global user.name "lqq"
$ git config --global user.email lqq@163.com
如果用了 –global 選項,那麼更改的配置文件就是位於你用戶主目錄下的那個,以後你所有的項目都會默認使用這裏配置的用戶信息。
2、查看配置信息:要檢查已有的配置信息,可以使用 git config –list 命令
$ git config --list
http.postbuffer=2M
user.name=lqq
user.email=lqq@163.com
創建倉庫
1、git init
Git 使用 git init 命令來初始化一個 Git 倉庫,Git 的很多命令都需要在 Git 的倉庫中運行,所以 git init 是使用 Git 的第一個命令。
git init
2、git clone
我們使用 git clone 從現有 Git 倉庫中拷貝項目(類似 svn checkout)。
git clone git@github.com:whacked/transclusion-minor-mode.git
基本操作
1、git add
git add 命令可將該文件添加到緩存,如我們添加以下兩個文件。
$ touch README
$ touch hello.php
$ ls
README hello.php
$ git status -s
?? README
?? hello.php
$
2、git status
git status 以查看在你上次提交之後是否有修改。
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README
new file: hello.php
3、git diff
執行 git diff 來查看執行 git status 的結果的詳細信息。
在這裏插入代碼片
- 尚未緩存的改動:git diff
- 查看已緩存的改動: git diff –cached
- 查看已緩存的與未緩存的所有改動:git diff HEAD
- 顯示摘要而非整個 diff:git diff –stat
4、git commit
使用 git add 命令將想要快照的內容寫入緩存區, 而執行 git commit 將緩存區內容添加到倉庫中。
$ git commit -m '第一次版本提交'
[master (root-commit) d32cf1f] 第一次版本提交
2 files changed, 4 insertions(+)
create mode 100644 README
create mode 100644 hello.php
5、git reset HEAD
git reset HEAD 命令用於取消已緩存的內容。
$ git status -s
M README
M hello.php
$ git add .
$ git status -s
M README
M hello.php
$ git reset HEAD hello.php
Unstaged changes after reset:
M hello.php
$ git status -s
M README
M hello.php
分支管理
幾乎每一種版本控制系統都以某種形式支持分支。使用分支意味着你可以從開發主線上分離開來,然後在不影響主線的同時繼續工作。
有人把 Git 的分支模型稱爲必殺技特性,而正是因爲它,將 Git 從版本控制系統家族裏區分出來。
1、創建分支
git branch (branchname)
2、切換分支
git checkout (branchname)
3、合併分支
git merge
4、列出分支
git branch
5、刪除分支
git branch -d (branchname)
6、合併衝突
$ git branch
* master
$ cat runoob.php
查看提交歷史
$ git log
以上就是日常工作需要用的最多的一些Git命令,後續會繼續分享總結~