-
CS์์ 'porcelain' ์ด๋ ๋จ์ด๋ ๋ฌด์์ ์๋ฏธํ๋๊ฐ?์์ธ์ปด์ก๐ง๐ปโ๐ป 2019. 9. 28. 15:29
์์ฆ jgit์ ๊ณต๋ถํ๊ณ ์๋ค. (jgit์ด๋ git๊ด๋ จ ๊ธฐ๋ฅ๋ค์ ์ํํ ์ ์๋ java libraray์ด๋ค.) jgit์ ๊ณต๋ถํ๊ธฐ ์ํด user guide์ javadoc์ ์ด์ฉํ๊ณ ์์ง๋ง ๋ด๊ฐ ๊ตฌํํ๊ณ ์ถ์ ๊ธฐ๋ฅ์ ๋๊ตฐ๊ฐ cookbook์ผ๋ก ์ด๋ฏธ ์ ๋ฆฌํ์ผ๋ฉด ์ํ์ฐฉ์ค๋ฅผ ์ค์ผ ์ ์์ ๊ฒ์ด๋ผ๊ณ ํ๋จํ๋ค. ๊ทธ๋์ ๊ฒ์์ ํ๋ค. ๋คํํ ๋๊ตฐ๊ฐ ์ ๋ฆฌํ ์๋์ ๊ฐ์ jgit cookbook์ ์ฐพ์ ์ ์์๋ค.
https://github.com/centic9/jgit-cookbook
์ด repository์ README์๋ ์ฌ๋ฌ ์์ ๋ค์ด ์ ๋ฆฌ๋์ด ์์๋ค. ๊ทธ ์ค ์๋ ๋ณด์ด๋ ๊ฒ ๊ฐ์ด 'Porcelain commands' ๋ผ๋ ์นดํ ๊ณ ๋ฆฌ๊ฐ ์์๋ค.
์๋ low-level commands๊ฐ ์๋ ๊ฒ๊ณผ ์นดํ ๊ณ ๋ฆฌ ๋ด๋ถ๋ฅผ ๋ค์ฌ๋ค ๋ณด์์ ๋ high-level command ๋ฅผ ์๋ฏธํ๋ ๊ฒ์ด๊ตฌ๋ ๋ผ๊ณ ์ถ์ธกํ ์ ์์๋ค. ํ์ง๋ง ํ์คํ์ง ์์๋ค. ๋น๋จ jgit cookbook๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ repository์์๋ 'porcelain' ์ด๋ผ๋ ๋จ์ด๋ฅผ ๋ง์ด ๋ณด์๊ณ ๊ทธ ๋๋ง๋ค ๊ทธ๊ฒ์ด ๋ฌด์์ ์๋ฏธํ๋์ง ๊ถ๊ธํ์๋ค. ๊ทธ๋์ ์ด๋ฒ ๊ธฐํ์ ํ์คํ ์์๋๊ธฐ๋ก ํ๋ค. ๊ตฌ๊ธ๋ง ๊ฒฐ๊ณผ ์๋์ ๊ฐ์ stackoverflow ๊ฒ์๋ฌผ์ ์ฐพ์ ์ ์์๋ค.
https://stackoverflow.com/questions/6976473/what-does-the-term-porcelain-mean-in-git
๋ต๋ณ ์ฑํ์๋ porcelain์ด๋ผ๋ ๋จ์ด์ ์๋ฏธ๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด ํ์ฅ์ค์ ์๋ก ๋ค์๋ค.
๊ทธ์ ์ค๋ช ์ ๋ค์๊ณผ ๊ฐ๋ค. ํ์ฅ์ค์์ ๊ฒ์ผ๋ก ๋ณด์ด๋ ๊ฒ๋ค์ ๋ณ๊ธฐ, ์์กฐ, ์ธ๋ฉด๋ ๋ฑ์ด ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ๋ค์ ๋์๊ธฐ ์ฆ, porcelain์ผ๋ก ๋ง๋ค์ด์ก๋ค. ์ฐ๋ฆฌ๊ฐ ํ์ฅ์ค์ ์ด์ฉํ ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ ๊ฒ๋ค๋ง ์ด์ฉํ๋ ๊ฒ์ ์๋๋ค. ์์๋์ ํ์๋๋ก ์ฐ๊ฒฐ๋๋ ๋ฐฐ๊ด๊ฐ์ด ๊ฒ์ผ๋ก ๋ณด์ด์ง ์์ง๋ง ๋ถ๋ช ์ฌ์ฉ๋๋ ๊ฒ๋ค๋ ์๋ค. ๊ทธ๋ ๊ทธ๊ฒ์ plumbing์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ๊ทธ๋ ์์ ํ์ฅ์ค์ ์๋ฅผ ํตํด ์ค๋ช ํ porcelain๊ณผ plumbing์ ๊ฐ๋ ์ ๊ฐ๊ฐ high-level commands์ low-level commands๋ฅผ ์๋ฏธํ๋ค๊ณ ๋งํ๋ค.
์ฆ, CS ๋ถ์ผ์์ ์ฐ๋ porcelain์ด๋ high-level commands๋ฅผ ์๋ฏธํ๋ค๋ ๊ฒ์ด๋ค.
์ง๋๊ต์๋๊ป์๋ ํ์์ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๊ฒฐ๊ตญ ์ฝ๊ณ ์ฐ๋ ํ์์ด๊ณ ๊ทธ๊ฒ์ ๋ฐ๋ณตํ๋ค ๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์ต์ํด์ง ์ฆ, ์ค๋ ฅ์ด ํฅ์๋จ์ ๊ฒฝํํ ์ ์๋ค๊ณ ๋ง์ํ์ จ๋ค. porcelain์ ์๋ฏธ๋ฅผ ์ฐพ์๊ฐ๋ ๊ณผ์ ์์ ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ณผ์ ์ ์ด๋ ๊ฒ ๊ธ๋ก ์ ๋ฆฌํ๋ ๊ณผ์ ์์ ๋ค์ ํ ๋ฒ ์ง๋๊ต์๋์ ์ฒ ํ์ ๊น์ด ๊ณต๊ฐํ ์ ์์๋ค. ๋ถ๋ช ์๋ด๊ธฐ๋์ ๋๋ ์ถ์ธก์กฐ์ฐจ ํ์ง ๋ชป ํ์ํ ๋ฐ ์ด์ ๋๋ ๋ฌธ๋งฅ์ ์ฝ์ ์ ์๊ณ ๊ทธ๊ฒ์ ํตํด ์ถ์ธกํ ์ ์๋ ์์ค์ด ๋์๋ค. ์์ผ๋ก์ ๋์ ์ฑ์ฅ์ ๊ธฐ๋ํ๋ฉฐ ์ด ๊ธ์ ๋ง์น๋ค.