簡體   English   中英

從GitHub上的倉庫Git簽出到基於SVN的現有本地倉庫

[英]Git checkout from repository on GitHub into an existing local repository based on SVN

我最近將一個項目從Subversion遷移到GitHub,但是當前工作的本地目錄仍然是SVN本地存儲庫。 由於復雜的原因,創建一個新的git clone本地存儲庫不是很好,所以有什么方法可以從GitHub檢出git存儲庫嗎?

現在它給了我錯誤:

fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)

顯然,因為我沒有使用git本地存儲庫。

  1. Subversion工作目錄中的git init將使其成為git存儲庫。
  2. git remote add origin <url> ,其中<url>是來自GitHub的HTTPS或SSH路徑,將本地存儲庫連接到GitHub。
  3. git fetch origin將使用GitHub的所有歷史記錄更新本地Git存儲庫
  4. git reset origin/master會將您的本地master分支指向原始的最新master,而無需更改文件。

此時, git status將向您顯示本地工作目錄與GitHub之間的任何區別。

聽起來你的核心問題是你試圖以這種方式保持Subversion和Git存儲庫同步,Git應該只是你的Subversion存儲庫的另一個視圖。 如果是這種情況,SubGit可能是一個解決方案:它提供了Subversion存儲庫的Git鏡像,因此你可以在你的機器上堅持使用Subversion,同時還有額外的Git存儲庫。

您不能創建git存儲庫的“ SVN簽出”。

在git中,克隆存儲庫包括其所有歷史記錄。 git工具依靠它來執行它們的功能。 在SVN中,所有歷史記錄都在服務器上,而本地端只是一個工作副本。

你將不得不做一個git clone 最接近SVN的工作方式是使用--depth = 1進行克隆,但結果檢查結果會非常糟糕。

如果你想要反正你所要求的 - 也就是說,你想使用帶有上游SVN存儲庫的本地git客戶端 - 答案是git-svn

如果你只是想減少重新下載的數量 - 你只說“復雜的原因”,所以我無法推斷你的動機 - 只保留本地文件是不夠的。 正如我所提到的,git不僅存儲文件的最新版本,還存儲每個過去的版本。 無論您做什么,都必須下載過去的版本信息。

暫無
暫無

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

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