作者 主題: SVN是否可以檔案同步,或者檔案同步的解決方案?  (閱讀 10090 次)

0 會員 與 1 訪客 正在閱讀本文。

b7307024

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
各位前輩好

會想到用SVN,是因為研發人員需要做程式版本管控。而研發做出來的程式,需要複製到測試人員電腦裡去測試產品,執行測試會產生Log檔,需獨立存放在電腦裡,不能集中存放,所以才會問SVN是否可以檔案同步?

若SVN不行,我是想到可以將電腦加入網域,USER登入後執行XCOPY指令複製Server的資料,只是有個缺點,來源刪除目的並不會刪除。或者使用備份軟體如:Scecond Copy,可以執行完整、差異備份,但也是有個問題,將來若是需要複製不同路徑的檔案,就需要每一台去設定。

以上問題,懇請給予建議,謝謝!

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1382
    • 檢視個人資料
    • https://darkranger.no-ip.org
理論上所有版本控制系統都可以做到檔案同步
那是它的作用之一
然而除非是延續原有的 SVN 專案,否則這年頭我想不出來有什麼緣故會選擇 SVN 而非 git

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
GIT +1

b7307024

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
理論上所有版本控制系統都可以做到檔案同步
那是它的作用之一
然而除非是延續原有的 SVN 專案,否則這年頭我想不出來有什麼緣故會選擇 SVN 而非 git

因為我們原本有架一台SVN Server,但是沒有全公司導入,所以目前Server上面只有一個檔案庫,裡面只有一個產品的Project。
而主管也有意導入SVN,從研發、產管、到測試都能納入使用此系統。

目前測試可以正常commit及update且排程,user權限也測試完成。
但一個最大的問題,就是目錄名稱規劃,我參考了這篇文章
http://www.cnblogs.com/newstar/archive/2011/01/04/svn.html

文中提到建議建立trunk、branches、tags資料夾,來達成版本管理目的,且是一個project一個檔案庫,
這種模式看起來研發人員比較適用,那產管及測試呢?他們需求只是單純抓資料而已。

這樣我目錄名稱該怎麼規劃呢?謝謝!

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1382
    • 檢視個人資料
    • https://darkranger.no-ip.org
因為我們原本有架一台SVN Server,但是沒有全公司導入,所以目前Server上面只有一個檔案庫,裡面只有一個產品的Project。
從這段描述來看,我看不出對 SVN 有很重的依賴
所以你在這個階段,應該還是可以做出導入 Git 的決策

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
因為我們原本有架一台SVN Server,但是沒有全公司導入,所以目前Server上面只有一個檔案庫,裡面只有一個產品的Project。
從這段描述來看,我看不出對 SVN 有很重的依賴
所以你在這個階段,應該還是可以做出導入 Git 的決策

同意,只有一個project還不算多,可以簡單checkout出來,再push到git去,然後就改git就好。

b7307024

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
同意,只有一個project還不算多,可以簡單checkout出來,再push到git去,然後就改git就好。

https://www.jianshu.com/p/bfec042349ca
看了這篇文章,知道Git與SVN的差異及優缺點,我需要討論看看要用哪一種!

只是Git有for Windows嗎?? 若只能Linux base的話,我需要花點時間摸索架Linux Server
以現在需求緊急來說,Git可能不是個好選擇! 且若是要完整功能是需要付費還是免費呢?
在請問一台版本控制系統的SERVER,硬碟建議是要用到多大呢??

我們公司有北中南的分辦,研發處有分到七個,人數大約100~130人,
這樣的話初期規劃1T~2T的空間不知是否足夠?查看全部的測試程式、韌體就有150G左右了。
« 上次編輯: 2018-01-17 16:43 由 b7307024 »

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1382
    • 檢視個人資料
    • https://darkranger.no-ip.org
1.
對熟悉 Linux 的人來說,用 Linux 來架設一個最基本的 Git server,可能是最快捷的作法
因為 Git 可以直接透過 Linux 內建的 SSH 服務做存取
而不太需要做額外的設定
2.
在 Windows 上建立 Git server,則可以開通 Git 內建的 git 協定供外部存取
或是利用 SCM-Manager 這類第三方工具來建立 http 的存取方式

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1382
    • 檢視個人資料
    • https://darkranger.no-ip.org
我們公司有北中南的分辦,研發處有分到七個,人數大約100~130人,
這樣的話初期規劃1T~2T的空間不知是否足夠?查看全部的測試程式、韌體就有150G左右了。
只能說就先試試看了,因為實際容量增長的情形、包含版本控制系統的 metadata 在內,有太多變數
所幸版本控制系統的資料轉移非常單純,即便原主機未規劃便利的容量擴充方案
也可以輕易轉移到新主機上

b7307024

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
1.
對熟悉 Linux 的人來說,用 Linux 來架設一個最基本的 Git server,可能是最快捷的作法
因為 Git 可以直接透過 Linux 內建的 SSH 服務做存取
而不太需要做額外的設定
2.
在 Windows 上建立 Git server,則可以開通 Git 內建的 git 協定供外部存取
或是利用 SCM-Manager 這類第三方工具來建立 http 的存取方式

感謝darkranger大耐心的回答!

依據您說的第二點,我查了一些教學文章,感覺不會太難架設,應就選定架設Git了。

不過Git完整功能應該是免費吧?有使用人數限制或其他限制? 且Git整合AD會很困難嗎?

而且還有個問題,假設今天電腦抓取A路徑的檔案,但過一陣子可能會需要抓取A+B+C路徑,
在過幾天可能變成抓B+C路徑,如果有4~5台電腦都要修改,這樣也是挺麻煩的,
那這個問題有解嗎??
« 上次編輯: 2018-01-17 17:39 由 b7307024 »

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1382
    • 檢視個人資料
    • https://darkranger.no-ip.org
你的某些疑慮顯示出對 Open Source 軟體的常見特性不是很熟悉
比方說 Git 是完全免費的,不存在所謂的商業版本,或是任何需要「解鎖」之功能
以及它的設定檔是純文字的,通常位於專案目錄的 .git/config 檔案裡
這點可能部份回應了你的問題,因為你只要把設定檔散佈到各個電腦裡就好
不太需要一一設定

不過或許我有必要再強調一下,其實 Git 本身只做一件事:就是去中心化的檔案版本控制
其餘像是 server/client 的結構、或是帳號權限控制,都是外部附加的結果
而非它自身的功能
舉例來說,在 Linux 上做 Git 專案的權限管理,多半是透過作業系統使用者的目錄讀寫權限及 SSH 登入權限來控制
Git 本身是不管這些事情的
至於在 Windows 上的情況,如果你有藉助 SCM-Manager 來進行管理,已知它有一個 AD plugin:
https://plugins.scm-manager.org/scm-plugin-backend/page/index.html
但我不知道它具體可以做到什麼程度

換言之,可能一個比較正確的觀點,是把 Git 想成是一個小工具,而非完整的系統
但這也是它被推崇的原因之一

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
git server架好之後,不妨先動手玩玩,這樣比較有心得。
下面這的文章我個人蠻推薦給新手看的:
https://backlogtool.com/git-guide/tw/

b7307024

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
git server架好之後,不妨先動手玩玩,這樣比較有心得。
下面這的文章我個人蠻推薦給新手看的:
https://backlogtool.com/git-guide/tw/

回報netman大,說到這我就有點心酸!

一開始主管本來說要我找看看有沒有免費版本控制軟體可以用,
我就推薦Git,且我也架設到一半了,只差還沒有辦法整合AD,
但主管又說VisualSVN Server他之前測試感覺比較簡單,USER來說會比較容易上手
於是又決定要朝SVN走,只好要去比較VisualSVN 標準版跟付費企業版的差異。
 :(

然而,我了解了一下VisualSVN 企業版,有多提供了以下功能:
1.   可整合Active Directory
2.   多站點儲存庫複製,提供連接速度優化及災難復原
3.   存儲庫管理指派,可指派一般使用者成為超級使用者,管理自己擁有權限的存儲庫
4.   支援登入及操作紀錄
5.   遠端服務器集中管理,不須透過遠端桌面
但是USD $950/per user,若是30人需求的話費用也很可觀。

以Apache Subversion來說能做到上述的功能嗎?
或者說Git對使用者難易度,其實並沒有那麼困難呢?
我想,要能夠讓主管採用Git,首先必須先整合AD成功才行。