什么是Git:
Git 是一個開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。
Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。
Git 與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務器端軟件支持。
Git 與 SVN
Git 不僅僅是個版本控制系統,它也是個內容管理系統(CMS),工作管理系統等。
如果你是一個具有使用 SVN 背景的人,你需要做一定的思想轉換,來適應 Git 提供的一些概念和特征。
Git 與 SVN 區別點:
1、Git 是分布式的,SVN 不是:這是 Git 和其它非分布式的版本控制系統,例如 SVN,CVS 等,最核心的區別。
2、Git 把內容按元數據方式存儲,而 SVN 是按文件:所有的資源控制系統都是把文件的元信息隱藏在一個類似 .svn、.cvs 等的文件夾里。
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一點都不特別,其實它就是版本庫中的另外一個目錄。
4、Git 沒有一個全局的版本號,而 SVN 有:目前為止這是跟 SVN 相比 Git 缺少的最大的一個特征。
5、Git 的內容完整性要優于 SVN:Git 的內容存儲使用的是 SHA-1 哈希算法。這能確保代碼內容的完整性,確保在遇到磁盤故障和網絡問題時降低對版本庫的破壞。
Git使用教程
一,新建倉庫(repository)。
可以使用一個已經存在的目錄作為Git倉庫或者創建一個空目錄。
使用當前目錄,初始化git init
使用指定目錄,git init newrepo
二,添加新文件
git add filename
方法一 git add 添加多個文件,文件之間以空格隔開
方法二 多次git add
方法三 添加指定目錄下的文件
config目錄下及子目錄下所有文件,home目錄下的所有.php文件
git config/*
git home/*.php git add -A: 提交所有變化 【A 意思為all 所有】在用之前,先git pull 一下最新代碼
git add -u: 提交被修改(modifyed)和被刪除(deleted)的文件 不包含新(new)文件 【u 意思為 update】
git add .: 提交被修改(modifyed)和被新建(new)的文件 不包含刪除(deleted)
三,提交版本
git commit 提交到版本庫
git add 目的是將修改文件由工作區提交到暫存區,可以多次提交
然后commit操作,將文件從暫存區提交到版本庫
git commit -m "add new file" 如果您不使用-m,會出現編輯器來讓你寫自己的注釋信息。當我們修改了很多文件,而不想每一個都add,想commit自動來提交本地修改,我們可以使用-a標識。git commit -a -m "Changed some files"
git commit 命令的-a選項可將所有被修改或者已刪除的且已經被git管理的文檔提交到倉庫中。(千萬注意,-a不會造成新文件被提交,只能修改。)
四,發布版本
先從服務器克隆一個庫并上傳
git clone ssh://example.com/~/www/project.git
現在我們修改之后可以進行推送到服務器。
git push ssh://example.com/~/www/project.git
五,取回更新
如果您已經按上面的進行push,下面命令表示,當前分支自動與唯一一個追蹤分支進行合并。
git pull
從非默認位置更新到指定的url。git pull http://git.example.com/project.git
六,刪除
如何你想從資源庫中刪除文件,我們使用rm。
git rm file
七,分支與合并
分支在本地完成,速度快。要創建一個新的分支,我們使用branch命令。
git branch test
branch命令不會將我們帶入分支,只是創建一個新分支。所以我們使用checkout命令來更改分支。
git checkout master
git merge test
如果想刪除分支,使用-d標識。
git branch -d test
圖片及文檔來自菜鳥-點此鏈接了解其它