๐™ธ๐šƒ/๐š‚๐š…๐™ฝ

[SVN] SVN์ด๋ž€? / TortoiseSVN

ํ•ด๋ฒ„๋‹ˆ 2023. 9. 26. 18:20
๋ฐ˜์‘ํ˜•

VCS (version Control System)

ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์ถ”์ ํ•˜๋Š” ์‹œ์Šคํ…œ

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ์ฝ”๋“œ ๋ณ€๊ฒฝ๋‚ด์—ญ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์‹œ์— ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค.

Git, Subverion(SVN)์ด ์žˆ๋‹ค.

 

 

 


TortoiseSVN

๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์œˆ๋„์šฐ์šฉ ์„œ๋ธŒ๋ฒ„์ „ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

 

์„œ๋ธŒ๋ฒ„์ „ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ : Subversion์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•  ๋•Œ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

 

 

 

โ“TotoiseSVN๋ง๊ณ  ๋‹ค๋ฅธ ๊ฑด ์—†๋‚˜์š”โ“

1๏ธโƒฃ GIT

(๋ช‡ ๊ฐ€์ง€ ์ธ๊ธฐ ์žˆ๋Š” ์˜ต์…˜ : GitHub Desktop, GitKraken, Sourcetree, GitExtensions)

2๏ธโƒฃ Mercurial

3๏ธโƒฃ Perfoce(P4)

4๏ธโƒฃ CVS 

 

 

 

 

 

 

 


SVN(Subversion)

์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

ํ˜•์ƒ๊ด€๋ฆฌ ์†Œ์Šค ๊ด€๋ฆฌ ํˆด์ด๋‹ค.

 

2000๋…„๋ถ€ํ„ฐ ์ฝœ๋žฉ๋„ท์—์„œ ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค.

Subversion์€ ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ๋ชจ๋ธ์„ ๋”ฐ๋ฅด๋ฉฐ, ์„œ๋ฒ„๋Š” ์ž‘์—… ๊ณต๊ฐ„์„ ์ œ๊ณตํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ด๋‹น ์ž‘์—… ๊ณต๊ฐ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋”๋ผ๋„ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

์ด์ „ ๋ฒ„์ „์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

์‚ฌ์šฉ๋ฒ•

ํ”„๋กœ์ ํŠธ ์†Œ์Šค๋Š” SVN ์„œ๋ฒ„์˜ Trunk๋ผ๋Š” ๊ณณ์— ์œ„์น˜ → ์ž์‹ ์˜ Local์— Trunk์˜ ์†Œ์Šค๋ฅผ ๋‹ค์šด ๋ฐ›์•„ (update) ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ ํ›„ ๋‹ค์‹œ ์—…๋กœ๋“œ (commit)ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

A๊ฐ€ ์ž์‹ ์ด ์ˆ˜์ •ํ•œ ์†Œ์Šค๋‚˜ ํด๋”๋ฅผ Commitํ•˜๋ฉด B๋Š” ํ•ด๋‹น ์†Œ์Šค๋ฅผ Update๋ฐ›์œผ๋ฉด ์ตœ์‹ ์˜ ์†Œ์Šค๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

 

์ž์‹ ๋งŒ์˜ ์†Œ์Šค๋ฅผ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ๋–จ์–ด์ ธ์„œ ์ž‘์—…ํ•˜๋ ค๋ฉด Branch๋ฅผ ๋งŒ๋“ค์–ด ์ž‘์—… ํ›„ ๋ณธ์ธ๋งŒ ์ ‘๊ทผํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ํ•œ๋‹ค.

์™„์„ฑ๋˜๋ฉด Merge ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ Trunk์™€ ์†Œ์Šค๋ฅผ ํ•ฉ์น˜๋ฉด ๋œ๋‹ค.

 

 

 

 

 

 

โ“์™œ ์“ธ๊นŒโ“

์—ฌ๋Ÿฌ ๋ช…์ด์„œ ์ž‘์—…ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๋ฒ„์ „ ๊ด€๋ฆฌ๋‚˜ ๊ฐ์ž ๋งŒ๋“  ์†Œ์Šค์˜ ํ†ตํ•ฉ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ

ํ•˜๋‚˜์˜ ์„œ๋ฒ„์—์„œ ์†Œ์Šค๋ฅผ ์‰ฝ๊ณ  ์œ ์šฉํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํˆด์ด๋‹ค.

 

 

- ๊ธฐ์กด์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ณต์œ  ๋“ฑ์œผ๋กœ ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ๋ณต๊ตฌ

- ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ค‘ ๊ณผ๊ฑฐ์˜ ํŠน์ • ์‹œ์ ์œผ๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

- ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌ ํ•  ๊ฒฝ์šฐ, ๊ฐ์ž๊ฐ€ ์ˆ˜์ •ํ•œ ๋ถ€๋ถ„์„ ํŒ€์› ์ „์ฒด๊ฐ€ ๋™๊ธฐํ™”ํ•˜๋Š” ๊ณผ์ •์„ ์ž๋™ํ™”

- ์†Œ์Šค ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ 

- ์†Œ์Šค ์ฝ”๋“œ์—์„œ ๋ˆ„๊ฐ€ ์ˆ˜์ •ํ–ˆ๋Š”์ง€ ์ถ”์ 

- ๋Œ€๊ทœ๋ชจ ์ˆ˜์ • ์ž‘์—…์„ ๋”์šฑ ์•ˆ์ „ํ•˜๊ฒŒ ์ง„ํ–‰

- ๋งˆ์ด๋„ˆ ๋ฒ„์ „(branch)๋กœ ํ”„๋กœ์ ํŠธ์— ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๋ถ€๋ถ„์„ ๊ฐœ๋ฐœ

 

 

 

 

 

์žฅ๋‹จ์ 

์žฅ์  

- ์›์ž์  ์ปค๋ฐ‹์„ ์ง€์›ํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ์ปค๋ฐ‹๊ณผ ์—‰ํ‚ค์ง€ ์•Š์Œ. ์‹คํŒจ ์‹œ ๋กค๋ฐฑ ๊ฐ€๋Šฅ

- ์ง๊ด€์ ์ด๋‹ค.

- ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์‚ญ์ œ, ์ด๋™, ์ด๋ฆ„ ๋ณ€๊ฒฝ, ๋ณต์‚ฌ ์ง€์›

- ์†Œ์ŠคํŒŒ์ผ ์ด์™ธ์— ์ด์ง„ ํŒŒ์ผ(ํ…์ŠคํŠธ ํŒŒ์ผ์ด ์•„๋‹Œ, ์ปดํ“จํ„ฐ ํŒŒ์ผ)๋„ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅ ๊ฐ€๋Šฅ

- ๋””๋ ‰ํ„ฐ๋ฆฌ๋„ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์ €์žฅ์†Œ์˜ ํฌ๊ธฐ์— ์ƒ๊ด€์—†์ด ์ผ์ •ํ•œ ์‹œ๊ฐ„ ์•ˆ์— ๊ฐ€์ง€์น˜๊ธฐ๋‚˜ ํƒœ๊ทธ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋น ๋ฅด๋‹ค.

 

 

 

 

๋‹จ์ 

- ์†Œ์Šค์ฝ”๋“œ๋Š” merge(๋ณ‘ํ•ฉ)์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ด์ง„ํŒŒ์ผ์€ ์–ด๋Š ํ•œ์ชฝ์„ ๋ฒ„๋ฆด ์ˆ˜ ๋ฐ–์— ์—†๋‹ค.

- ๊ฐœ๋ณ„ ๊ฐœ๋ฐœ์ž๋งŒ์˜ ๊ฐœ๋ฐœ ์ด๋ ฅ์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.

- .svn ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ธํ•ด ์ €์žฅ์†Œ๊ฐ€ ๋‹ค์†Œ ์ง€์ €๋ถ„ํ•œ ๋Š๋‚Œ์„ ์ค€๋‹ค.

- ์žฆ์€ ์ปค๋ฐ‹์œผ๋กœ ์ธํ•ด ๋ฆฌ๋น„์ „ ๋ฒˆํ˜ธ๊ฐ€ ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์ถฉ๋Œ์ด ์ผ์–ด๋‚  ํ™•๋ฅ ์ด ๋†’๋‹ค.

 

 

 

 

SVN ์šฉ์–ด ์ •๋ฆฌ

CheckOut

์ €์žฅ์†Œ์—์„œ ์ตœ์‹  ๋ฒ„์ „์˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ตœ์ดˆ๋กœ ๋ฐ›์•„์˜ค๋Š” ๊ฒƒ / Repository์—์„œ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ํŒŒ์ผ๋“ค์„ ๋ฐ›์•„ ์˜จ๋‹ค. (Git์˜ Clone๊ณผ ๋™์ผํ•˜๋‹ค)

 

Update

๋กœ์ปฌ ์ €์žฅ์†Œ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์ €์žฅ์†Œ์˜ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ๋ฐ›์•„ ์˜ค๊ธฐ

 

Commit

๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ์„œ๋ฒ„๋กœ ์ „์†ก/ Checkoutํ•œ ํŒŒ์ผ์˜ ์ˆ˜์ •์‚ฌํ•ญ์„ ๊ฐฑ์‹ 

 

Merge(ํ•ฉ๋ณ‘ํ•˜๋‹ค)

๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ๋ถ€๋ถ„๊ณผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ž‘์—…ํ•œ ๋ถ€๋ถ„์„ ๋ณ‘ํ•ฉํ•œ๋‹ค.

 

Repository(์ €์žฅ์†Œ)

ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋ฐ ๋ณ€๊ฒฝ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๋Š” ์žฅ์†Œ

 

Revision(์ˆ˜์ •)

์ˆ˜์ • ํ›„ Commit ํ•˜๋ฉด ์ˆซ์ž๊ฐ€ ์ฆ๊ฐ€ → ์ปค๋ฐ‹ ์‹œ ์–ด๋–ค ๋ณ€๊ฒฝ์‚ฌํ•ญ๋“ค์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€ Commit Message๋ฅผ ์ž˜ ์ž‘์„ฑํ•ด์•ผ ํ•จ 

 

Import

๋นˆ Repository์— ๋งจ ์ฒ˜์Œ ํŒŒ์ผ๋“ค์„ ์ฑ„์šฐ๋Š” ๊ฒƒ / ์ดˆ๊ธฐ์— ์›๊ฒฉ ์ €์žฅ์†Œ์— ๋ฒ„์ „ ๊ด€๋ฆฌํ•  ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

 

Export

์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์ฒดํฌ ์•„์›ƒ๊ณผ ๋‹ค๋ฅธ ์  : .svn ์ˆจ๊น€ ํด๋”๋Š” ์ œ์™ธํ•œ๋‹ค.

๋ฒ„์ „ ๊ด€๋ฆฌ ํŒŒ์ผ๋“ค์„ ๋บ€ ์ˆœ์ˆ˜ ํŒŒ์ผ๋งŒ ๋นผ๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.

 

Revert(๋˜๋Œ์•„๊ฐ€๋‹ค, ๋ณต๊ท€ํ•˜๋‹ค)

๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ์ด์ „ ์ƒํƒœ๋กœ ๋Œ๋ฆผ. ํŒŒ์ผ ๋‹จ์œ„๋กœ ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ํด๋” ๋‹จ์œ„๋กœ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. 

 

Add(์ถ”๊ฐ€ํ•˜๋‹ค)

๋ฒ„์ „ ๊ด€๋ฆฌ ๋Œ€์ƒ์œผ๋กœ ํŒŒ์ผ ๋“ฑ๋ก

 

Shelve(๋ณด๋ฅ˜ํ•˜๋‹ค)

๋กœ์ปฌ ์ž‘์—… ๋‚ด์šฉ์„ ์ž ์‹œ ๋ฐฑ์—…

 

Trunk(๋‚˜๋ฌด์˜ ๋ชธํ†ต)

๊ฐœ๋ฐœ ์†Œ์Šค๋ฅผ commit ํ–ˆ์„ ๋•Œ ๊ฐœ๋ฐœ ์†Œ์Šค๊ฐ€ ๋ชจ์ด๋Š” ๊ณณ 

 

Branch(๋‚˜๋ฌด์˜ ์ค„๊ธฐ)

trunk์—์„œ ๋ถ„๋ฆฌ/๋ณต์‚ฌํ•œ ์†Œ์Šค๋กœ ๋ฒ„์ „๋ณ„ ๋ฐฐํฌํŒ์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ trunk์™€ ๋ณ„๋„๋กœ ์šด์˜ํ™˜๊ฒฝ์„ ์œ„ํ•œ ์•ˆ์ •ํ™”๋œ ์†Œ์Šค ๊ด€๋ฆฌ ๋ชฉ์  

 

Tag

์—ฌ๋Ÿฌ ๋ธŒ๋žœ์น˜๋“ค์ด ๋ชจ์—ฌ์„œ ๋งŒ๋“  ํŠธ๋ ํฌ์— ๋Œ€ํ•ด ์–ด๋Š ํŠน์ • ์ง€์ ์„ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•œ ๊ผฌ๋ฆฌํ‘œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

์ฃผ๋กœ ์ƒ์šฉ ์„œ๋น„์Šค์—์„œ๋Š” Release ๋‹จ์œ„์— ๋”ฐ๋ผ ํƒœ๊ทธ๋ฅผ ๋ถ™์ด๋Š” ํŽธ์ด๋‹ค.

Conflict ๋™์ผํ•œ ํŒŒ์ผ์„ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ฐœ๋ฐœํ•  ๊ฒฝ์šฐ ๋ฐœ์ƒํ•œ๋‹ค.

์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋ฉด ํ•˜๋‚˜ ํ•˜๋‚˜ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ๋ณ‘ํ•ฉ์„ ํ•ด์•ผ ํ•œ๋‹ค.

 

Lock

์ถฉ๋Œ ๋•Œ๋ฌธ์— Lock์ด๋ผ๋Š” ๊ฒƒ์ด ์กด์žฌํ•œ๋‹ค.

์ด ๋ช…๋ น์–ด๋ฅผ ํŒŒ์ผ์— ๊ฑธ์–ด๋‘๋ฉด ๋ฝ์„ ๊ฑด ์‚ฌ์šฉ์ž๋งŒ ํ•ด๋‹น ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉํ•œ ํ›„์—๋Š” ๋ฐ˜๋“œ์‹œ unlock์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

Diff(Difference)

ํ˜„์žฌ ์†Œ์Šค ์ฝ”๋“œ ๋Œ€๋น„ ํŠน์ • ๋ฆฌ๋น„์ „์˜ ์†Œ์Šค์ฝ”๋“œ์™€ ์ฐจ์ด์ ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํŠน์ • ๋ฆฌ๋น„์ „ 2๊ฐœ์˜ ์ฐจ์ด์ ์„ ๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

https://truecode-95.tistory.com/18

 

[SVN] SVN์ด๋ž€ ? ์žฅ์  , ๋‹จ์  , ์šฉ์–ด ์ •๋ฆฌ

ํšŒ์‚ฌ์—์„œ ์†Œ์Šค๋ฅผ ํ˜•์ƒ๊ด€๋ฆฌํ• ๋•Œ svn์„ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ svn์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. 1. SVN์ด๋ž€? SVN์€ SubVersion์˜ ์ค„์ž„๋ง๋กœ ์ค‘์•™์ง‘์ค‘๊ด€๋ฆฌ์‹ ํ˜•์ƒ๊ด€๋ฆฌ ์†Œ์Šค ๊ด€๋ฆฌ ํˆด์ด๋‹ค. ๋กœ์ปฌ pc์—์„œ ์ปค๋ฐ‹ ์‹œ ์ค‘์•™ ์ €์žฅ์†Œ์—

truecode-95.tistory.com

https://na27.tistory.com/211

 

SVN ์ด๋ž€? SVN ์‚ฌ์šฉ ์ด์œ 

SVN ์ด๋ž€?(์ •์˜) SVN ์‚ฌ์šฉ ์ด์œ  SVN์€ SubVersion์˜ ์ค„์ž„๋ง๋กœ ํ˜•์ƒ๊ด€๋ฆฌ/์†Œ์Šค ๊ด€๋ฆฌ ํˆด์ด๋‹ค SVN์˜ ์‚ฌ์šฉ๋ชฉ์ : ์—ฌ๋Ÿฌ๋ช…์ด์„œ ์ž‘์—…ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๋ฒ„์ „๊ด€๋ฆฌ๋‚˜ ๊ฐ์ž ๋งŒ๋“  ์†Œ์Šค์˜ ํ†ตํ•ฉ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ

na27.tistory.com

 

๋ฐ˜์‘ํ˜•