[英]Git-SVN: Update Git repo from centralized SVN server
我正在開發一個項目,每個人都使用SVN
作為集中式服務器,每個人都推動他們在該服務器上所做的更改。 我想在本地使用Git
,我對git svn
很新。 我做了一個git svn clone
與資源庫git svn clone -r HEAD https://svn.repo/app/branch
一個我想通過git的做一個更新。
我需要一個'git pull like'命令,但要從SVN服務器repo的特定版本中提取。 還有一個'fetch like'命令從SVN服務器repo的特定修訂版中獲取?
我的克隆項目中沒有任何.svn
文件夾, git remote
也沒有給我任何東西。 但是我做了一個git config -l
,我得到了SVN服務器的URL,所以不知怎的,我已經與SVN服務器鏈接了。 我不知道如何取或拉。
謝謝!
通過Git在Subversion資源庫上工作的最佳方式:
git svn init -s https://svn.repo/app/ myrepo
假設在https://svn.repo/app/下 ,repo包含標准/trunk
, branches
和tags
子目錄 git svn fetch
,直到不再提取提交(可能需要相當長的時間,有時在Windows下中止)。 git checkout -b trunk remotes/trunk
特定的Subversion分支或git checkout -b trunk remotes/trunk
然后,您可以簡單地瀏覽,破解並提交到包含所有Subversion提交和分支的Git Repo。
git svn rebase
新提交,請使用git svn rebase
git svn dcommit
要跳轉到特定的Subversion修訂版,您只需要通過git log
瀏覽歷史git log
並搜索鏡像相應的subversion提交的提交。 您可以在提交消息的git-svn-id:
行中輕松發現Subversion修訂版。 只需使用git checkout <commithash>
來顯式檢出該版本。
一個好的開始:
要獲取新的svn提交到您的本地repo: git svn rebase
將本地提交推送到SVN: git svn dcommit
您可能必須使用git stash
和git stash pop
,然后在使用上述兩個命令時,當您的工作副本具有未經修改的更改時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.