ํ์ ์กฐ๊ฑด
์ด๋ฌํ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด๋ ค๋ฉด macOS ๋๋ Linux ์์คํ ์ ์ฌ์ฉํ๊ณ ๋ค์ ๋๊ตฌ๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
- Subversion
- Git(
git-svn
ํฌํจ) - Git ๋์ฉ๋ ํ์ผ ์คํ ๋ฆฌ์ง(Git LFS)(Git ๋ํ ํ์ผ ์คํ ๋ฆฌ์ง ์ค์น ์ฐธ์กฐ)
Subversion ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฐ์ ธ์ค๊ธฐ
-
GitHub์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ญ๋๋ค. ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ โ์ถ๊ฐ ์ ๋ณดโ, ๋ผ์ด์ ์ค ๋๋ gitignore ํ์ผ๋ก ์ด๊ธฐํํ์ง ๋ง์ธ์. ํ๋ก์ ํธ๊ฐ GitHub์ ํธ์๋ ํ ํด๋น ํ์ผ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ง๋ค๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
-
์ปดํจํฐ์ Git์ด ์ค์น๋์ด ์๋์ง ํ์ธํ๋ ค๋ฉด
git --version.
์ ์คํํฉ๋๋ค.์ถ๋ ฅ์
git version 2.40.0
๊ณผ ๋น์ทํด์ผ ํฉ๋๋ค. -
์ปดํจํฐ์์
git svn
์(๋ฅผ) ์ฌ์ฉํ ์ ์๋์ง ํ์ธํ๋ ค๋ฉดgit svn --version
์(๋ฅผ) ์คํํ์ธ์.์ถ๋ ฅ์
git-svn version 2.40.0 (svn 1.14.2)
์(๊ณผ) ๋น์ทํด์ผ ํฉ๋๋ค.git
์(๋ฅผ) ์ฑ๊ณต์ ์ผ๋ก ์คํํ ์ ์์ง๋งgit svn
์(๋ฅผ) ์คํํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ณ๋๋กgit svn
์(๋ฅผ) ์ค์นํด์ผ ํ ์ ์์ต๋๋ค.git-svn
ํจํค์ง์ง๊ฐ ํฌํจ๋ Homebrew ๋๋ Ubuntu ํจํค์ง๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. -
Git LFS์ด(๊ฐ) ์ปดํจํฐ์ ์ค์น๋์ด ์๋์ง ํ์ธํ๋ ค๋ฉด
git lfs --version
์ ์คํํฉ๋๋ค.์ถ๋ ฅ์
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)
๊ณผ ๋น์ทํด์ผ ํฉ๋๋ค. -
Subversion ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํ์ธํ์ธ์.
์๋ฅผ ๋ค์ด Sourceforge์์ Logisim ์คํ ์์ค ํ๋ก์ ํธ๋ฅผ ํ์ธํ๋ ค๋ฉด
svn checkout https://svn.code.sf.net/p/circuit/code/trunk
์(๋ฅผ) ์คํํฉ๋๋ค. -
Subversion ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
-
Subversion ํ๋ก์ ํธ์์ ์์ฑ์ ๋ชฉ๋ก์ ๊ฐ์ ธ์
authors.txt
์ ๋ชฉ๋ก์ ์ ์ฅํ๋ ค๋ฉด ๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ธ์.Shell svn log -q | grep -e '^r' | awk 'BEGIN { FS = "|" } ; { print $2" = "$2 }' | sed -E 's/^ *//' | sort | uniq > authors.txt
svn log -q | grep -e '^r' | awk 'BEGIN { FS = "|" } ; { print $2" = "$2 }' | sed -E 's/^ *//' | sort | uniq > authors.txt
-
authors.txt
ํ์ผ์ ์ ๋ฐ์ดํธํ์ฌ Subversion ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฌ์ฉ๋ ์์ฑ์ ์ด๋ฆ์ ๋ค์ ํ์์ ์ฌ์ฉํ์ฌ Git ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ฌ์ฉํ๋ ค๋ ์ด๋ฆ์ผ๋ก ๋งคํํฉ๋๋ค.octocat = The Octocat <octocat@github.com>
-
Git ๋ฆฌํฌ์งํ ๋ฆฌ์ Subversion ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณํํ๋ ค๋ฉด
git svn
์(๋ฅผ) ์ฌ์ฉํ์ธ์.-
Subversion ๋ฆฌํฌ์งํ ๋ฆฌ์ "ํธ๋ ํฌ", "๋ถ๊ธฐ" ๋ฐ "ํ๊ทธ" ํด๋๊ฐ ํฌํจ๋ ํ์ค ํ์์ด ์๋ ๊ฒฝ์ฐ
git svn clone -s URL PATH/TO/DESTINATION --authors-file PATH/TO/AUTHORS.TXT
์(๋ฅผ) ์คํํ๊ณ ,URL
์(๋ฅผ) Subversion ๋ฆฌํฌ์งํ ๋ฆฌ์ URL๋ก,PATH/TO/DESTINATION
์(๋ฅผ) ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ๋ ค๋ ๋๋ ํฐ๋ฆฌ์ ๊ฒฝ๋ก๋ก,PATH/TO/AUTHORS.TXT
์(๋ฅผ)authors.txt
ํ์ผ์ ๋ํ ๊ฒฝ๋ก๋ก ๋ฐ๊ฟ ์คํํฉ๋๋ค.์๋ฅผ ๋ค์ด Sourceforge์ Logisim ํ๋ก์ ํธ๋ฅผ logisim์ด๋ผ๋ ๋๋ ํฐ๋ฆฌ์ ๋ณต์ ํ๋ ค๋ฉด
git svn clone -s https://svn.code.sf.net/p/circuit/code logisim --authors-file path/to/authors.txt
์(๋ฅผ) ์คํํฉ๋๋ค. -
Subversion ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๋นํ์ค์ธ ๊ฒฝ์ฐ
git svn
์ด(๊ฐ) ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๋๋ก ์ฌ์ฉ์ ์ง์ ํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ Git ์ค๋ช ์์ git-svn์ ์ฐธ์กฐํ์ธ์.
-
-
Git์ ๊ฐ SVN ์์ ๋ฒ์ ์ ๊ฒ์ฌํ๊ณ ์์ ๋ฒ์ ์ Git ์ปค๋ฐ์ผ๋ก ์ ํํฉ๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ง์ ํ์ผ ๋๋ ๋ง์ ๊ธฐ๋ก์ด ์๋ ๊ฒฝ์ฐ ์ด ํ๋ก์ธ์ค๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
ํฐ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒฝ์ฐ ๋ช ๋ น์ด ์ค์ง๋ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ Ctrl+C๋ฅผ ์ฌ์ฉํ์ฌ ๋ช ๋ น์ ์ข ๋ฃํ๊ณ ์ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ ๋ค์
git svn fetch
์(๋ฅผ) ์คํํ์ฌ ์ข ๋ฃ๋ ์์น๋ฅผ ์์ํ ์ ์์ต๋๋ค. -
์๋ก ๋ง๋ Git ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
-
GitHub ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์๊ฒฉ ์คํ
git remote add origin URL
๋ก ์ถ๊ฐํ๋ ค๋ฉด ๋จผ์ ๋ง๋ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์ URL์URL
์์https://github.com/octocat/example-repository.git
๋ฑ์ผ๋ก ๋ฐ๊ฟ์ ์คํ ํฉ๋๋ค. -
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ GitHub๋ก ํธ์ํ๋ ค๋ฉด
git push --mirror origin
์ ์คํํฉ๋๋ค.๋ฆฌํฌ์งํ ๋ฆฌ์ GitHub์ ํ์ผ ํฌ๊ธฐ ์ ํ๋ณด๋ค ํฐ ํ์ผ์ด ํฌํจ๋์ด ์์ผ๋ฉด ํธ์๊ฐ ์คํจํ ์ ์์ต๋๋ค.
git lfs import
์ ์คํํ์ฌ ๋์ฉ๋ ํ์ผ์ Git LFS์ผ๋ก ์ด๋ํ ๋ค์ ๋ค์ ์๋ํ์ธ์.