> For the complete documentation index, see [llms.txt](https://brianwu.gitbook.io/brian/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brianwu.gitbook.io/brian/ban-ben-kong-zhi/svn.md).

# SVN

集中式的版本控制 (類似TFS)

## Update 將伺服器上的同步到本機(類似git 的 pull)

## Commit 做一個版本到伺服器中(類似git 的 commit + push)

## revert 可以將檔案回復到上一次commit 的狀態 (等同 git revert)

## Checkout 將repository 的Source 下載到本機 (類似 git 的 clone)

### 如何在 Windows cmd 使用 svn

參考資料:(<https://blog.xuite.net/hem1331.sk/system1/166917315-TortoiseSVN%E5%9C%A8windows%E8%83%BD%E5%90%A6%E7%94%A8command-line%E6%A8%A1%E5%BC%8F>)

把 `TortoiseSVN` 重裝

記得將選項 **windows client tortoiseSVN command line** 選起來

預設是取消的 ...

選完就可以了

### SVN 的 Merge

有三種方式

#### 根據版本 Merge a range of revisions

只會將 被選取的版本內 所改動的差異，Merge進來

This method covers the case when you have made one or more revisions to a branch (or to the trunk) and you want to port those changes across to a different branch.

#### 根據分支 Reintegrate a branch

將整本分支 Merge 進來 (應該等同於 git 的 Merge?)

This method covers the case when you have made a feature branch as discussed in the Subversion book. Use this to merge all changes of a branch back to trunk.

#### Merge two different trees

This method covers the case when you want to merge the differences of two different branches into your working copy.
