SVN ์ฌ์ฉ๋ฒ
์ฉ์ด ์ค๋ช
์ ์ฅ์
: ๋ฆฌํฌ์งํ ๋ฆฌ(Repository)๋ผ๊ณ ๋ ํ๋ฉฐ ๋ชจ๋ ํ๋ก์ ํธ์ ํ๋ก๊ทธ๋จ ์์ค๋ค์ ์ด ์ ์ฅ์ ์์ ์ ์ฅ์ด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ค๋ฟ๋ง์ด ์๋๋ผ ์์ค์ ๋ณ๊ฒฝ ์ฌํญ๋ ๋ชจ๋ ์ ์ฅ๋ฉ๋๋ค. ๋คํธ์ํฌ๋ฅผ ํตํด์ ์ฌ๋ฌ ์ฌ๋์ด ์ ๊ทผ ํ ์ ์์ต๋๋ค. ๋ฒ์ ๊ด๋ฆฌ ์์คํ
๋ง๋ค ๊ฐ๊ฐ ๋ค๋ฅธ ํ์ผ ์์คํ
์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ Subversion์ Berkeley DB๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ ํ๋ก์ ํธ ๋ง๋ค ํ๋์ ์ ์ฅ์๊ฐ ํ์ํฉ๋๋ค.
๋ฆฌ๋น์ (Revision)
: ์์ค ํ์ผ๋ฑ์ ์์ ํ์ฌ ์ปค๋ฐํ๊ฒ ๋๋ฉด ์ผ์ ํ ๊ท์น์ ์ํด ์ซ์๊ฐ ์ฆ๊ฐ ํฉ๋๋ค. ์ ์ฅ์์ ์ ์ฅ๋ ๊ฐ๊ฐ์ ํ์ผ ๋ฒ์ ์ด๋ผ ํ ์ ์์ต๋๋ค. Subversion์ ๊ฒฝ์ฐ ํ์ผ๋ณ๋ก ๋ฆฌ๋น์ ์ด ๋งค๊ฒจ์ง์ง ์๊ณ ํ๋ฒ ์ปค๋ฐ ํ ๊ฒ์ผ๋ก ์ ์ฒด ๋ฆฌ๋น์ ์ด ๋งค๊ฒจ ์ง๋๋ค. ๋ฆฌ๋น์ ์ ๋ณด๊ณ ํ๋ก์ ํธ ์งํ ์ํฉ์ ์ ์ ์์ต๋๋ค.
trunk
: ๋จ์ด ์์ฒด์ ๋ป์ ๋ณธ์ฒด ๋ถ๋ถ, ๋๋ฌด์ค๊ธฐ, ๋ชธํต ๋ฑ ์
๋๋ค. ํ๋ก์ ํธ์์ ๊ฐ์ฅ ์ค์ฌ์ด ๋๋ ๋๋ ํ ๋ฆฌ์
๋๋ค. ๋ชจ๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ์์
์ trunk ๋๋ ํ ๋ฆฌ์์ ์ด๋ฃจ์ด์ง๋๋ค. ๊ทธ๋์ ์์ ๊ตฌ์กฐ์์ trunk ๋๋ ํ ๋ฆฌ ์๋์๋ ๋ฐ๋ก ์์ค๋ค์ ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.
branches
: ๋๋ฌด์ค๊ธฐ(trunk)์์ ๋ป์ด์ ธ ๋์จ ๋๋ฌด ๊ฐ์ง๋ฅผ ๋ปํฉ๋๋ค. trunk ๋๋ ํ ๋ฆฌ์์ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ํฐ ํ๋ก์ ํธ์์ ๋ ๋ค๋ฅธ ์์ ๋ถ๋ฅ๋ก ๋นผ์ ๋ฐ๋ก ๊ฐ๋ฐํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๊น๋๋ค. ํ๋ก์ ํธ์์ ์์ ํ๋ก์ ํธ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. branches ๋๋ ํ ๋ฆฌ ์์ ๋ ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ๋ฅผ ๋์ด ๊ทธ ์์์ ๊ฐ๋ฐํ๊ฒ ๋ฉ๋๋ค.
tags
: tag๋ ๊ผฌ๋ฆฌํ๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด ๋๋ ํ ๋ฆฌ๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ฉด์ ์ ๊ธฐ์ ์ผ๋ก ๋ฆด๋ฆฌ์ฆ๋ฅผ ํ ๋ 0.1, 0.2, 1.0 ํ๋ ์์ผ๋ก ๋ฒ์ ์ ๋ถ์ฌ ๋ฐํํ๊ฒ ๋๋๋ฐ ๊ทธ๋๊ทธ๋ ๋ฐํํ ์์ค๋ฅผ ๋ฐ๋ก ์ ์ฅํ๋ ๊ณต๊ฐ์
๋๋ค. ์์์ ๋ณด๋ฉด tags ๋๋ ํ ๋ฆฌ ์๋์๋ ๋ฒ์ ๋ช
์ผ๋ก ๋๋ ํ ๋ฆฌ๊ฐ ๋ง๋ค์ด์ ธ ์์ต๋๋ค.
๋ช ๋ น์ด ์๋ฏธ
Import
:
svn import sampledir svn+ssh://svn-domain/svn/sample/trunk
๋งจ ์ฒ์ ํ๋ก์ ํธ ์์ํ ๋ ์ ์ฅ์์ ๋ฑ๋กํ๋ ๋ช
๋ น์ด ํ ๋ฒ ํ๊ณ ๋๋ฉด ์ธ์ผ์ด ์ ์์ ๋ฏ.
Checkout
:
svn checkout svn+ssh://svn-domain/svn/sample/trunk sample
์ ์ฅ์์์ ์์ค๋ฅผ ๋ฐ์ ์ค๋ ๋ช
๋ น์ด. ๋ฐ์์จ ์์ค์๋ ์์ค ๋ฟ๋ง์ด ์๋๋ผ ๋ฒ์ ผ๊ด๋ฆฌ๋ฅผ ์ํ ํ์ผ๋ ๊ฐ์ด ๋ฐ์ ์จ๋ค. ์ง์ฐ๊ฑฐ๋ ๋ณ๊ฒฝ์ ์ ์ฅ์์ ์ฐ๊ฒฐ ๋ถ๊ฐ๋ฅ
Export
:
svn export svn+ssh://svn-domain/svn/sample2/trunk sample
์ฒดํฌ์์๊ณผ๋ ๋ฌ๋ฆฌ ๋ฒ์ ผ๊ด๋ฆฌ ํ์ผ์ ๋บ ์์ํ ์์ค๋ง ๊ฐ์ ธ์ค๋ ๋ช
๋ น์ด ๋ง์ง๋ง์ ์ฌ์ฉ.
Commit
:
svn commit
์ฒดํฌ์์ ํ ์์ค๋ฅผ ์์ , ํ์ผ ์ถ๊ฐ, ์ญ์ ๋ฑ์ ํ ๋ค ์ ์ฅ์์ ์ ์ฅํ์ฌ ๊ฐฑ์ ํ๋ ๋ช
๋ น์ด. Revision์ด 1 ์ฆ๊ฐ ํ๋ค.
Update
:
svn update
์ฒดํฌ์์ ํด์ ๋ฐ์ ์์ค๋ฅผ ์ต์ ์ ์์ค๋ก ์
๋ฐ์ดํธ ํ๋ ๋ช
๋ น์ด. ์์ค ์์ ์ด๋ Commit ํ๊ธฐ์ ์ ํ ๋ฒ์ฉ ํด์ค์ผ ํ ๋ฏ. ์ ๋ชปํ๋ฉด ์์ค ๋ง์น๋ ๊ฒฝ์ฐ๊ฐ ์์ ๋ฏ.
Log
:
svn log
์ ์ฅ์์ ์ด๋ ํ ๊ฒ๋ค์ด ๋ณ๊ฒฝ ๋์๋์ง ํ์ธ ํ ์ ์๋ log ๋ช
๋ น์ด
Diff
:
svn diff --revision 4 sample.c
diff ๋ช
๋ น์ ์์ ์์ค ํ์ผ๊ณผ ์ง๊ธ์ ์์ค ํ์ผ์ ๋น๊ตํด ๋ณด๋ ๋ช
๋ น์ด
Blame
:
svn blame sample.c
Blame์ ํ ์์คํ์ผ์ ๋์์ผ๋ก ๊ฐ ๋ฆฌ๋น์ ๋ํด์ ์ด๋ค ํ์ ๋๊ฐ ์์ ํ๋์ง ์์๋ณด๊ธฐ ์ํ ๋ช
๋ น์ด
lock
:
svn lock hello.c
ํ์ผ์ ๋ฝ์ ๊ฑธ์ด ๋ฝ์ ๊ฑด ์ฌ์ฉ์๋ง์ด ์์ ํ ์ ์๊ฒ ํด์ฃผ๋ ๋ช
๋ น์ด. ํด์ ๋
svn unlock
.
์ ํ์ผ์ ๋ฝ์ ๊ฑธ์๋์ง ๋ก๊ทธ๋ฅผ ๊ธฐ๋ก ํ ์ ์๋ค.
Add
:
svn add hello.c
์ ํ์ผ์ ๋ง๋ค์์ ๊ฒฝ์ฐ์ ํ์ผ์ ์ถ๊ฐ ํด์ฃผ๋ ๋ช
๋ น์ด. ๊ทธ ๋ค์ ๊ผญ svn commit๋ฅผ ๊ผญ ํด์ค์ผ ํ๋ค.
์ ํ์ผ์ ์์ฑํด์ ์ฌ๋ฆด ๋์๋ ๊ผญ add๋ฅผ ํด์ค์ผ ํจ. ์ํด์ฃผ๋ฉด commit์ ํด๋ ์ ์ฌ๋ผ๊ฐ.
ํ์ผ ๋ฐฑ์
๋ฐ ๋ณต๊ตฌ
dump
:
svnadmin dump sample > sample.dump
load
:
svnadmin load sample < sample.dump
์ ํ์ผ์ ๋ง๋ค์์ ๊ฒฝ์ฐ
1.
svn add filename.*
2.
svn ci filename.*
๊ทธ๋ฅ ๊ธฐ์กด ์์ค ์์ ํ ๊ฒฝ์ฐ
1.
svn ci filename.*
ํญ์
svn update
๋ ๊ผญ ํด์ฃผ์
svn status
: ์์ ์ด ์์ ํ๊ณ ์๋ ํ์ผ์ ์ํ๋ฅผ ์๋ ค์ฃผ๋ ๋ช ๋ น์ด
[์ถ์ฒ] SVN ์ฌ์ฉ๋ฒ๊ณผ ์ฉ์ด ์ค๋ช |์์ฑ์ hbesthee
[์ถ์ฒ] SVN ์ฌ์ฉ๋ฒ๊ณผ ์ฉ์ด ์ค๋ช |์์ฑ์ hbesthee
'DevOps > Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GitLab] ๊น๋ฉ ์ฐ๋ถํฌ(Ubuntu)์๋ฒ์ ์ธํ (0) | 2023.02.04 |
---|---|
[Git] IntelliJ์์ gitignore ์ฌ์ฉํ๊ธฐ (0) | 2023.02.04 |
[Github] IntelliJ์์ Github ์ฐ๋ํ๊ธฐ (0) | 2023.02.04 |
[Github] IntelliJ์์ Git Clone (0) | 2023.02.04 |
[SVN] SVN ์ค์น ๊ด๋ จ ์๋ฃ (0) | 2017.08.24 |