亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何git-svn從Subversion倉庫克隆最近的n個修訂?

如何git-svn從Subversion倉庫克隆最近的n個修訂?

Git
拉丁的傳說 2019-10-14 10:19:41
問題如何從Subversion存儲庫中使用git-svn創建淺表副本,例如,如何僅提取最后三個修訂版?git clone如果使用選項--depth,則該命令可以從Git存儲庫獲取最新的n個修訂版本,即,您可以獲得存儲庫的淺表副本。例:git clone --depth 3 git://some/repo myshallowcopyrepogit-svn有類似的選擇嗎?到目前為止我的發現到目前為止,我只找到了-rN其中的選項N是拉修訂。例:git svn clone -rN svn://some/repo根據文檔,有可能使用-r$REVNUMBER:HEAD。我嘗試了以下操作,以獲取返回錯誤消息的最后3個修訂。$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .revision argument: HEAD~3:HEAD not understood by git-svn因此,我用HEAD~3第三個但最后一個修訂版本534的實際編號代替了。這行得通,但是這需要我首先弄清楚第三個但最后一次提交的修訂版本號。$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
查看完整描述

3 回答

?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

通過在(-r$REV:HEAD)中指定要啟動克隆的SVN版本號,您已經發現了在Git-SVN中指定淺表克隆的最簡單方法。


例如: git svn clone -s -r1450:HEAD some/svn/repo


Git的數據結構基于有向無環圖(DAG)中的指針,這使得回溯n提交變得微不足道。但是在SVN中(因此在Git-SVN中),您將必須自己找到修訂號。


查看完整回答
反對 回復 2019-10-14
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

我發現自己經常使用以下內容從我們龐大的Subversion樹中獲取有限數量的修訂版(我們很快將達到svn修訂版35000)。


# checkout a specific revision

git svn clone -r N svn://some/repo/branch/some-branch

# enter it and get all commits since revision 'N'

cd some-branch

git svn rebase

找出分支從何處開始的好方法是執行分支svn log并找到分支上的第一個分支(執行時列出最后一個分支):


svn log --stop-on-copy svn://some/repo/branch/some-branch

到目前為止,在跟蹤所有分支方面,我還沒有真正發現值得解決的麻煩。克隆和svn和git不能像我想要的那樣協同工作需要太多時間。我傾向于創建補丁文件,并將其應用到另一個svn分支的git克隆上。


查看完整回答
反對 回復 2019-10-14
  • 3 回答
  • 0 關注
  • 917 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號