SVN中使用Git簡(jiǎn)明介紹
在學(xué)習(xí)SVN的過(guò)程中,你可能會(huì)遇到SVN中使用Git問(wèn)題,本節(jié)就主要講解一下SVN中使用Git問(wèn)題,包括開(kāi)始和初始化代碼庫(kù)等內(nèi)容,希望通過(guò)本節(jié)的學(xué)習(xí)大家更夠?qū)VN中使用Git問(wèn)題有更加深刻的認(rèn)識(shí)。
如果正在使用svn,打算換到git,又暫時(shí)不想放棄已有的svn代碼庫(kù),可以選擇git-svn。說(shuō)一說(shuō)我自己從svn到git的經(jīng)驗(yàn)吧。
開(kāi)始
安裝最新版本的git,從git1.5.3以后支持git-svn,git和svn的配合就要借助這個(gè)功能。
安裝完畢后要做一些簡(jiǎn)單的配置。最直接的做法就是創(chuàng)建修改~/.gitconfig。下面是我的.gitconfig
- [user]
- name=RobinLu
- email=---@gmail.com
- [color]
- diff=auto
- status=auto
- branch=auto
- [alias]
- st=status
- rb=svnrebase
- ci=commit-a
- co=checkout[user]
部分標(biāo)示出使用者的身份,你提交的代碼會(huì)自動(dòng)引用這一身份信息。[color]設(shè)置命令輸出的顏色。[alias]部分可以簡(jiǎn)化一些常用命令,比如在這里將gitstatus簡(jiǎn)化為gitst。
初始化代碼庫(kù)
SVN中使用Git時(shí)要初始化代碼庫(kù)。首先用git-svn來(lái)初始化本地的代碼庫(kù)(repository)
gitsvn
clone-s
svn-repository-urlsvn-repository-url部分使用svn代碼庫(kù)的url。如果要從trunk目錄或者某個(gè)branch目錄里checkout,要把-s換成-T、-b等選項(xiàng)。具體參看mangit-svn。這個(gè)命令時(shí)間比較長(zhǎng),因?yàn)樾枰剿械奶峤粴v史,還好只此一次,以后不會(huì)這么慢了。做完這一步,在本地就有了一個(gè)完整的代碼庫(kù),包括所有commit的歷史和log,已經(jīng)可以開(kāi)始用它來(lái)進(jìn)行開(kāi)發(fā)工作了。
不過(guò),在開(kāi)始開(kāi)發(fā)之前,最好先做一次垃圾搜集:gitgc
它對(duì)代碼庫(kù)的信息進(jìn)行垃圾搜集和壓縮,最明顯的作用就是減小磁盤(pán)占用空間。第一次做效果尤其明顯。
你可以檢查一下代碼庫(kù)的狀態(tài):
gitstatus現(xiàn)在應(yīng)該在一個(gè)叫”master”的分支(branch)上。
用這個(gè)命令來(lái)顯示出所有的分支(branch):gitbranch-a
master前有一個(gè)*號(hào),代表你現(xiàn)在所處的分支,另外還有一個(gè)分支叫trunk,它是一個(gè)遠(yuǎn)程分支(remotebranch),對(duì)應(yīng)的是遠(yuǎn)程svn代碼庫(kù)。master實(shí)際上是trunk的一個(gè)本地分支。
接下來(lái),需要配置忽略文件,讓git忽略一些目錄中不希望加入代碼庫(kù)的文件,類似svnpropsetsvn:ignore。全局有效的忽略文件列表可以添加在./.git/info/exclude文件中。比如我需要忽略所有vi產(chǎn)生的swp文件:
.*.swp對(duì)于和目錄有關(guān)的忽略文件設(shè)置可以在該目錄下創(chuàng)建.gitignore,然后加入需要忽略的內(nèi)容,比如我希望忽略根目錄下的log,tmp等目錄,可以直接在根目錄下的.gitignore中加入:log,tmp
請(qǐng)期待下節(jié)SVN中使用Git問(wèn)題介紹。
【編輯推薦】
- Git-SVN配合使用之簡(jiǎn)明教程
- VS2008+SVN插件使用前沿報(bào)道
- 深度剖析:Subversion服務(wù)器安裝配置
- MyEclipse中SVN安裝配置新手指南
- Http訪問(wèn)SVN服務(wù)器的配置方法專家指導(dǎo)