git 和 svn 版本控制系統
1)svn: subversion的簡稱,屬於集中化的版本控制系統,而git 是分布式版本控制系統
2)git 的速度遠遠 比 svn 快
3)svn 版本控制工作必須聯網,而 git 支援本地版本控制工作.在git下,每乙個開發人員都有乙個伺服器的資料庫,支援開發人員本地提交
4)在分支使用方面,git 要比 svn 更加方便.可以根據需要開啟分支,在分支之間的切換也很方便. svn 在分支使用方面比較笨拙
5) git 儲存完整性要優於 svn,在碰到網路問題或者磁碟故障時,降低對版本庫的破壞
6).git把內容按元資料方式儲存,而svn是按檔案儲存
所有的資源控制系統都是把檔案的元資訊隱藏在乙個類似.svn,.cvs等的資料夾裡。如果你把.git目錄的體積大小跟.svn比較,你會發現它們差距很大。因為,.git目錄是處於你的機器上的乙個轉殖版的版本庫,它擁有中心版本庫上所有的東西,例如標籤,分支,版本記錄等。
svn常用命令:
svn info :檢視檔案的詳細資訊
svn diff :檢視不同版本的區別
svn log :檢視日誌資訊
svn list :列出版本庫下的檔案和目錄列表
svn status :檢視檔案狀態(簡寫svn st)
svn help :獲取幫助資訊(比如svn help ci)
svn lock :加鎖
svn unlock :解鎖
svn commit :將改動的檔案提交到伺服器(簡寫svn ci)
svn update :更新伺服器的**到本地 (簡寫svn up)
svn add :向本地的版本控制庫中新增新檔案
svn delete、svn remove :從本地的版本控制庫中刪除檔案(簡寫svn del、svn rm)
svn move :移動檔案或者目錄或檔案更名
svn mkdir :建立納入版本控制下的新目錄
svn revert :撤銷之前的一切修改
svn merge :將兩個版本之間的差異合併到當前檔案
git 常用命令:
git help :git指令幫助手冊
檢視其他指令的做法:git help 其他指令
配置使用者名稱:git config 「user.name」 使用者名稱(用於跟蹤修改記錄)
檢視配置資訊:git config –l
將此設定應用到整個系統中:git config ––global
git status :查檔案的狀態
檢視某個檔案的狀態:git status 檔名
檢視當前路徑所有檔案的狀態:git status
git log :檢視檔案的修改日誌
檢視某個檔案的修改日誌:git log 檔名
檢視當前路徑所有檔案的修改日誌:git log
用一行的方式檢視簡單的日誌資訊:git log ––pretty=oneline
檢視最近的n次修改:git log –n(n是乙個整數)
git diff :檢視檔案最新改動的地方
檢視某個檔案的最新改動的地方:git diff 檔名
檢視當前路徑所有檔案最新改動的地方:git diff
git init :初始化乙個空的本地倉庫,生成乙個.git目錄,用於維護版本資訊
在當前路徑初始化倉庫:git init
在其他路徑初始化倉庫:git init 倉庫路徑
遠端倉庫 : git init –bare
git add :將工作區的檔案儲存到暫緩區
儲存某個檔案到暫緩區:git add 檔名
儲存當前路徑的所有檔案到暫緩區:git add .(注意,最後是乙個點 . )
git commit :將暫緩區的檔案提交到當前分支
提交某個檔案到分支:git commit -m 」注釋」 檔名
儲存當前路徑的所有檔案到分支:git commit -m 」注釋」
git reset :版本回退(建議加上––hard引數,git支援無限次後悔)
回退到上n個版本:git reset ––hard head~n(n是乙個整數)
回退到任意乙個版本:git reset ––hard 版本號(版本號用7位即可)
git reflog :檢視分支引用記錄(能夠檢視所有的版本號)
git rm:刪除檔案(刪完之後要進行commit操作,才能同步到版本庫)
git push:將本地的倉庫資訊推送到遠端倉庫
工作區(working directory):倉庫資料夾裡除.git目錄以外的內容
版本庫(repository):.git目錄,用於儲存記錄版本資訊
暫緩區(stage)
分支(master):git自動建立的第乙個分支
head指標:用於指向當前分支
git add和git commit的原理
git add :把檔案修改新增到暫存區
git commit :把暫存區的所有內容提交到當前分支
SVN與Git的最主要的區別
一 svn是什麼?svn是集中式版本控制系統,版本庫是集中放在 伺服器的,而工作的時候,用的都是自己的電腦,所以首先要從 伺服器 得到最新的版本,然後幹活,幹完後,需要把自己做完的活推送到 伺服器。二 git是什麼?git是目前世界上最先進的分布式版本控制系統 git是分布式版本控制系統,那麼它就沒...
SVN與Git的最主要的區別?
說起git自然想到svn,我剛接觸到的版本控制工具是svn,svn是集中式版本控制系統,版本庫是集中放在 伺服器的,幹活的時候,先要從 伺服器 得到最新的版本,幹完活後,需要把自己做完的活推送到 伺服器。伺服器就好比是乙個相簿,你要改一本書,必須先從相簿借出來,然後回到家自己改,改完了,再放回相簿。...
SVN與Git的最主要的區別?
說起git自然想到svn,我剛接觸到的版本控制工具是svn,svn是集中式版本控制系統,版本庫是集中放在 伺服器的,幹活的時候,先要從 伺服器 得到最新的版本,幹完活後,需要把自己做完的活推送到 伺服器。伺服器就好比是乙個相簿,你要改一本書,必須先從相簿借出來,然後回到家自己改,改完了,再放回相簿。...