git-svn 在ubuntu deepin(Linux debian系)下的安装与应用
Git是一款分布式版本管理工具,由linux的締造者Linus Torvalds設計并實現,具體關于Git的介紹和使用方法可參見其官方站。
這里要說的是Git是如何做到既可以管理好本地代碼又可以與已有的SVN中心庫進行同步的。
1、安裝
git-svn默認包含在Git的安裝包中,不過在Ubuntu中,git-svn是作為一個獨立的Package需要額外安裝的
sudo apt-get install git-svn
安裝完成后可以直接執行git svn命令進行驗證,但是要使用git-svn命令時則需要配置PATH環境變量,如下——
環境變量配置:
將/usr/lib/git-core配置到你的PATH環境變量中
2、檢出
git-svn clone命令完成這個操作 git-svn clone http://192.168.18.80/Mar/trunk檢出分步操作:功能與上面步驟相同
建立本地目錄, 比如假定是myproj
初始化并獲取某個版本
$git svn init http://192.168.18.80/Mar/trunk $git svn fetch -r xxxxx獲取某個版本,假如不指定版本,它就會根據svn記錄一級一級獲取
3、更新
git-svn rebase 注意這里用的是rebase,而不是update。4、查看日志
git-svn log加上-v選項,還可以提供每次commit操作涉及的相關文件的詳細信息。
5、提交
將本地代碼同步到Svn服務器。如果要同步到git服務器,用git命令
這個命令會將你在本地使用git commit提交到本地代碼庫的所有更改逐一提交到svn庫中。
加上-n選項,則該命令不會真正執行commit到svn的操作,而是會顯示會有哪些本地變動將被commit到svn服務器。
6、解決沖突
例如沖突文件為foo.c
使用git-svn rebase獲取svn服務器上的最新文件,導致沖突,
不過此時svn版本信息已經添加到本地git庫中(通過git log可以查看)
打開foo.c,修改代碼,解決沖突;
執行git rebase --continue,git提示我:
You must edit all merge conflicts and then
mark them as resolved using git add
執行git add foo.c,告知git已完成沖突解決;
再次執行git rebase --continue,提示"Applying: git v1",此時"git v1"版本又一次成功加入本地版本庫,你可通過git log查看;
執行git-svn dcommit將foo.c的改動同步到svn中心庫,到此算是完成一次沖突解決。
git比較智能,會提示你解決問題的方法,所以遇到問題時注意看提示文檔。
7、設置忽略文件
要忽略某些文件, 需要首先執行如下命令:
git config --global core.excludesfile ~/.gitignore然后編輯 vi ~/.gitignore.
例如: 需要忽略vim的臨時文件,就寫:
.*.swp
參考文檔
http://techbase.kde.org/Development/Tutorials/Git/git-svn
http://flavio.castelli.name/howto_use_git_with_svn
總結
以上是生活随笔為你收集整理的git-svn 在ubuntu deepin(Linux debian系)下的安装与应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker安装Jenkins+Blue
- 下一篇: Jenkins X基本概念:Jenkin