2013-03-19 152 views
57

如何將沒有版本控制的文件夾添加到特定的SVN位置?我經常開始編寫代碼,並且只有在我有幾個包含代碼文件的文件夾後才能將其添加到SVN。如何將文件添加到SVN的現有文件夾?

我最常做的是:

  1. SVN共同我想要做一個新的文件夾來存儲我的代碼的父目錄。
  2. svn mkdir使目錄我想把我的代碼英寸
  3. 複製並粘貼我的代碼。
  4. svn commit
  5. 刪除我目前的工作代碼目錄。
  6. 使用svn co重新創建我的工作代碼目錄。
+2

可能重複http://stackoverflow.com/questions/2431389/import-files-directly-to-svn-repo-without-checking-out-first – pmod 2013-03-20 20:37:36

回答

86

比方說,我有一些代碼在目錄~/local_dir/myNewApp,我希望把它放在「https://svn.host/existing_path/myNewApp」(同時能夠忽略一些二進制文件,供應商庫等)。

  1. 在倉庫中svn mkdir https://svn.host/existing_path/myNewApp
  2. 轉到項目的父目錄中創建一個空文件夾,cd ~/local_dir
  3. 退房在你的本地文件夾中的空目錄。不要害怕 - 本地文件不會被刪除。 svn co https://svn.host/existing_path/myNewApp。如果您的文件夾在本地具有與存儲庫中不同的名稱,則必須將其指定爲附加參數。
  4. 你可以看到,svn st現在將所有的文件顯示爲?,這意味着它們目前還不是版本控制
  5. 下執行svn add上要添加到庫中的文件,並添加他人svn:ignore。您可能會發現一些有用的選項,例如svn help add,例如--parents--depth empty,當您想要選擇性地僅添加一些文件/文件夾時。
  6. 犯了svn ci
+0

更好的答案。謝謝 – Amir 2015-07-15 09:49:29

+0

關於第5點:你可以在bash中用這種方式添加工作目錄的所有文件/目錄:'find。 -name.svn -prune -o -print0 | xargs -0 svn add' – 2015-09-21 14:47:09

+1

我曾經見過的用於獲取svn新內容的最佳方法。 – 2015-10-28 13:03:06

45

如果我理解正確的您的使用情況下,我建議使用SVN添加把下版本新的文件夾試試,看看here。下面將添加使用文件的新文件夾遞歸版本控制之下(如果你是合法而有效的工作副本):

svn add new_folder 
svn commit -m "Add New folder to the project" 

如果你不是在一個工作副本,與svn籤創建,複製new_folder有並執行上述步驟。

OR

嘗試SVN進口,看到here;下面將創建一個新的文件夾和文件上傳到存儲庫:

svn import -m "Import new folder to the project" new_folder \ 
     http://SVN_REPO/repos/trunk/new_folder 

還要注意的是:

導入數據後,請注意,原來的樹是不是版本 控制之下。要開始工作,你還是需要運行svn checkout樹的新鮮 工作副本

+0

但父文件夾不受版本控制。它如何知道把它放在svn版本庫裏 – Siecje 2013-03-19 22:09:07

+0

我不清楚你的文件夾在哪裏,你是不是工作在「工作副本」? – pmod 2013-03-19 22:13:24

+0

我有一個已經存在的svn倉庫和文件夾。我創建了非svn文件和文件夾,並希望將它們添加到存儲庫。我現在這樣做的方式是在上面的目錄中籤出我想要放置項目的目錄。然後我將粘貼複製到結帳位置,然後在那裏添加svn。 – Siecje 2013-03-20 00:15:39

1

如果目的是增加本地/工作拷貝到SVN,我用來做什麼的以下方式。

注意:我使用TortoiseSVN客戶端,並且這些步驟假定您已經安裝了TortoiseSVN客戶端。

  1. 我在我的地方有一個項目(測試-4.2.2)。我想上傳/添加到SVN信息庫。
  2. 使用TortoiseSVN回購瀏覽器,我創建了一個空目錄「Test-4.2.2」
  3. 在我的本地中,我將現有的「Test-4.2.2」目錄改名爲「Test-4.2.2.1」(臨時)
  4. 結帳空「測試4.2.2」從SVN到本地
  5. 複製所有的子目錄下4.2.2.1本檢出目錄4.2.2
  6. 現在,右鍵單擊「測試 - 4.2.2「並提交。
  7. 刪除臨時文件夾, 「測試-4.2.2.1」
5

我不使用命令。您應該可以使用GUI執行此操作:

  • 右鍵單擊我的文檔文件夾中的空白區域,選擇TortoiseSVN> Repo-browser。
  • 爲您的路徑輸入http://subversion ...(你的URL路徑Subversion服務器/目錄下你會保存到),並選擇確定
  • 右鍵單擊回購的根目錄,然後選擇添加文件夾。給它你的項目的名稱,並創建它。
  • 右鍵單擊Repo瀏覽器中的項目文件夾,然後選擇Checkout。 Checkout目錄將是您的Visual Studio\Projects\{your project}文件夾。選擇確定。
  • 您將收到文件夾不爲空的警告。說是的結帳/導出到該文件夾​​ - 它不會覆蓋您的項目文件。
  • 打開你的項目文件夾。您會在與您的VS項目相關聯的文件夾中看到尚未添加到Subversion的問號。選擇用Ctrl +點擊這些文件夾,然後用鼠標右鍵單擊選中的項目之一,並選擇TortoiseSVN的>添加
  • 上的提示
  • 你的文件應該加上選擇確定。在添加完成!對話框
  • 右鍵單擊文件夾的空白區域並選擇刷新。你會看到「+」圖標的文件夾/文件,現在
  • 的文件夾中再次右鍵單擊空白區域,然後選擇SVN提交
  • 添加關於你所提交,然後單擊確定消息
0

3個步驟:

  • 打開 「庫瀏覽器」(YR父文件夾的使用鏈接)。
  • 右鍵單擊選擇「添加文件夾」。
  • 瀏覽到您的文件夾。

enter image description here

+0

這種方式不能添加不存在的文件夾。 「添加文件夾」將爲您提供一個資源管理器窗口,以便您可以指向現有的文件夾,然後提供一個提交窗口,以便將其添加到Subversion。這不是在本地創建一個新文件夾 - 這仍然需要手動完成,並在那裏填充,然後這可以用於將其內容提交到Subversion。這隻給了一半的故事。 – vapcguy 2017-09-11 16:54:07

0

在Windows 7我這樣做:

  1. 您是否安裝SVN和烏龜SVN?如果不是的話,現在就谷歌他們這樣做。
  2. 轉到您的SVN文件夾,您可能有其他倉庫(倉庫的簡稱)(或者從頭開始創建倉庫,選擇倉庫C盤,D盤等或網絡路徑)。
  3. 創建一個新文件夾來存儲您的新存儲庫。稱它爲相同的名稱,項目名稱
  4. 右鍵單擊該文件夾並選擇烏龜SVN - >此創建版本庫
  5. 說是創建的文件夾結構
  6. 單擊確定。您應該看到一個新的圖標看上去像一個「波」旁邊的新的文件夾/回購
  7. 右鍵單擊新的回購協議,並選擇SVN庫瀏覽器
  8. 右鍵點擊「樹幹」
  9. 選擇添加文件夾...和指向正在開發中的項目的文件夾結構。
  10. 點擊確定,SVN會將您的文件夾結構添加進來。請耐心等待!它看起來像SVN崩潰/凍結。別擔心。它正在做它的工作。

完成!

相關問題