什么是git
Git是一個開源的分布式版本控制系統(tǒng)腕唧,用于敏捷高效地處理任何或小或大的項目。
Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件瘾英。
原來是大神的作品枣接。O(∩_∩)O哈哈~
膜拜一下!!!
Git 與 SVN 區(qū)別
因為以前一直使用SVN,突然轉(zhuǎn)到Git后感覺不太習(xí)慣缺谴。
Git 與SVN不同但惶,它采用了分布式版本庫的方式,
Git 與 SVN 區(qū)別點(diǎn):
1.GIT是分布式的湿蛔,SVN不是:這是GIT和其它非分布式的版本控制系統(tǒng)膀曾,例如SVN,CVS等阳啥,最核心的區(qū)別添谊。
2.GIT把內(nèi)容按元數(shù)據(jù)方式存儲,而SVN是按文件:所有的資源控制系統(tǒng)都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾里察迟。
3.GIT分支和SVN的分支不同:分支在SVN中一點(diǎn)不特別斩狱,就是版本庫中的另外的一個目錄。
4.GIT沒有一個全局的版本號扎瓶,而SVN有:目前為止這是跟SVN相比GIT缺少的最大的一個特征所踊。
5.GIT的內(nèi)容完整性要優(yōu)于SVN:GIT的內(nèi)容存儲使用的是SHA-1哈希算法。這能確保代碼內(nèi)容的完整性栗弟,確保在遇到磁盤故障和網(wǎng)絡(luò)問題時降低對版本庫的破壞。
接下來開始git之旅工闺。
創(chuàng)建新倉庫
創(chuàng)建新文件夾乍赫,打開,然后執(zhí)行:
git init
檢出倉庫
創(chuàng)建一個本地倉庫的克隆版本:
git clone /path
克隆遠(yuǎn)端服務(wù)器上的倉庫:
git clone username@host:/path
本地倉庫的管理說明
提交代碼入庫
提交代碼前陆蟆,先要添加代碼入暫存區(qū):
git add <filename>
git add *
提交代碼入HEAD:
# 提交暫存區(qū)到倉庫區(qū)
$ git commit -m [message]
# 提交暫存區(qū)的指定文件到倉庫區(qū)
$ git commit [file1] [file2] ... -m [message]
# 提交工作區(qū)自上次commit之后的變化雷厂,直接到倉庫區(qū)
$ git commit -a
# 提交時顯示所有diff信息
$ git commit -v
# 使用一次新的commit,替代上一次提交
# 如果代碼沒有任何新變化叠殷,則用來改寫上一次commit的提交信息
$ git commit --amend -m [message]
注意:這時的代碼并沒有進(jìn)入遠(yuǎn)程服務(wù)器改鲫。
推送到遠(yuǎn)程服務(wù)器
將改動提交到遠(yuǎn)端倉庫:
# 上傳本地指定分支到遠(yuǎn)程倉庫
$ git push [remote] [branch]
# 強(qiáng)行推送當(dāng)前分支到遠(yuǎn)程倉庫,即使有沖突
$ git push [remote] --force
# 推送所有分支到遠(yuǎn)程倉庫
$ git push [remote] --all
分支
列出所有本地分支:
git branch
列出所有遠(yuǎn)程分支:
git branch -r
切換分支:
# 切換到指定分支林束,并更新工作區(qū)
$ git checkout [branch-name]
# 切換到上一個分支
$ git checkout -
查看信息
# 顯示有變更的文件
$ git status
# 顯示當(dāng)前分支的版本歷史
$ git log
# 顯示commit歷史像棘,以及每次commit發(fā)生變更的文件
$ git log --stat
撤銷
恢復(fù)暫存區(qū)的指定文件到工作區(qū):
git checkout [file]
參考
GIT 常用命令
git - 簡明指南
小記:
文章寫得不錯,而且很有漫畫風(fēng)壶冒,感覺是在作藝術(shù)缕题,喜歡這樣的程序員。O(∩_∩)O哈哈~