簡體   English   中英

Git-SVN:從集中式SVN服務器更新Git repo

[英]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資源庫上工作的最佳方式:

  1. git svn init -s https://svn.repo/app/ myrepo假設在https://svn.repo/app/下 ,repo包含標准/trunkbranchestags子目錄
  2. 在myrepo中執行git svn fetch ,直到不再提取提交(可能需要相當長的時間,有時在Windows下中止)。
  3. 通過git checkout -b trunk remotes/trunk特定的Subversion分支或git checkout -b trunk remotes/trunk

然后,您可以簡單地瀏覽,破解並提交到包含所有Subversion提交和分支的Git Repo。

  • 要從SVN git svn rebase新提交,請使用git svn rebase
  • 要將本地提交推送到SVN,請使用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 stashgit stash pop ,然后在使用上述兩個命令時,當您的工作副本具有未經修改的更改時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM