SVN 心得

參考:Subversion(SVN)概念與工具介紹

  • Checkout (取出):與 Server 保持連結,可 Commit (送交) 與 Server 同步
  • Export (匯出):僅下載副本,未保持連結
  • Delete:刪除檔案,若在 Checkout 的資料夾中直接刪除檔案,並不會刪除 SVN  上的檔案;必須用 SVN Delete  才可以
  • Branch/tag:產生分支,差別在 Branch  可以繼續修改,而 tag 不行 (Read only)
  • Merge:選擇 Merge a range of revisions,例如在 trunk (Target) 的 Working Copy 選擇合併 branch (Source) 的某一個版本,則合併的結果是在 Working Copy,branch 跟 trunk 不會有任何影響,除非 Commit 才會更新到 trunk。而在 Working Copy 可以用 Diff 比較差異的部份,決定採用那一個版本或共用。而 Merge 的方向可以是將 trunk 的變更同步更新到 branch;或者將完成的 branch 合併到 trunk (參考:講解 Subversion 分支與合併:以 TortoiseSVN 為例)
  • Switch:將 Working Copy 切換到不同的 branch 或 tag,但 Working Copy 如果未 Commit 有可能會出現衝突的情況
  • Revert : 還原到修改前的狀態
  • 若要還原到先前已經 Commit 過的版本,可以先開啟 Log Messages,然後在要還原的版本上按滑鼠右鍵,選擇 "Revert to this revision",最後再重新 Commit 一次即可
  • 建議在 Settings | General | Global ingore pattern 附加以下設定 (參考:What should be contained in a global source code control ignore pattern for Visual Studio 2010?)
    *.ilk *.aps *.suo *.ncb *.user *.opt *.plg Debug Release debug release *.*~ *.tlb *_i.c *_p.c _*.idl _*.h *.obj *.vspscc dlldata.c *.pch *.idb *.pdb *.manifest *.res *.exe *.dll mt.dep BuildLog.htm *_i.h *.idc *.swp *.trx */TestResults *.vcxproj.filters ipch *.sdf *.opensdf

留言

這個網誌中的熱門文章

Linux 批次檔的寫法

【分享】如何顯示 Debug Message

[分享] Visual Studio 遠端偵錯