先說下基礎知識:
git是本地會(維護)有個版本倉庫。
svn本地也會維護乙個自己的資訊(一般是目錄結構和檔案狀態的資訊),這裡的檔案狀態一般是指:檔案是已刪除,還是已新增,還是被修改等等。一般是會有乙個隱藏的.svn目錄來儲存這些資訊的。
比如需要刪除乙個目錄或者檔案的時候
svn需要這樣做:
svn rm --force [dir/file]
然後再svn commit,遠端的版本庫的對應檔案或者目錄才會被刪除
如果是以下這樣的話,就會出錯:
rm -rf [dir/file]
然後再svn commit,會出錯,因為隱藏的針對要刪除的目錄資訊和檔案狀態記錄沒有被刪除,然後commit的時候svn還是會認為要把已經刪除了的目錄或檔案還要提交,然後本地又找不到真正的檔案或目錄,就發生錯誤了
git需要這樣做:
git rm [dir/file]
git commit 本地版本庫的對應應檔案或者目錄被刪除
git push ,遠端的版本庫的對應檔案或者目錄才會被刪除,因為遠端版本庫是與本地版本庫同步的
比如需要建立乙個目錄或者檔案的時候:
svn需要這樣做:
svn mkdir [dir]
svn commit 遠端的版本庫的對應目錄才會被建立
git 需要這樣做:
mkdir [dir]
git add .
git commit
git push
Git與SVN的比較
git目前流行的版本管理軟體,許多開發者都用過svn,在他們轉向git時都會有疑問,為什麼要用git,和svn有什麼區別呢?git是分布式的,每個git都是乙個版本庫,在無網路的情況下,你也擁有所有功能,commit,merge等。svn是集中式的,每個開發者其實就像個客戶端,必須在網路環境中使用,...
Git與SVN工具的使用
svn svn提交格式 svn commit m reason 更新 檔案 fix bug null lib name null lib version lib path null author wulijiao view git git 分支情況檢視 git log graph decorate ...
Svn 與 Git 搭配使用
專案組現在正在使用svn進行 的版本管理,經常需要同國外客戶的svn進行資訊的同步,隨著專案資訊量的不斷擴大,資訊同步的速度成為了瓶頸,專案組內成員對於從本地svn上down 和commit 也經常抱怨時間太長。所以專案組想嘗試用git來管理 客戶仍然採用svn來管理 這樣就出現了現在的狀況,專案組...