GIT-FAKER
You could be the best committer in the planet. ์ง๊ตฌ ์ต๊ณ ์ ์ปค๋ฏธํฐ๊ฐ ๋ ์ ์์ต๋๋ค.
GitHub์ ๋์๋ค๋๋ค๋ณด๋ฉด, ๋๋จํ ์คํ์์ค ๊ฐ๋ฐ์๋ค์ ๋ง๋๋ณผ ์ ์๋ค. ์์ฒญ๋๊ฒ ๋ง์ Star๋ฅผ ๋ฐ์ repository๋ฅผ ๊ด๋ฆฌํ๋ ๊ฐ๋ฐ์, ํน์ ๊ทธ๋ฌํ repository์ contributeํ๋ ๊ฐ๋ฐ์ ๋ฑ๋ฑ..
๋ด ๊ธฐ์ค์์ ๋ฉ์ง ๊ฐ๋ฐ์๋ ์์ ์ repository์ star์๊ฐ ์ผ๋ง๋ ๋์๋ , GitHub ํ๋กํ ํ์ด์ง๊ฐ ์ด๋ก์์ผ๋ก ๊ฐ๋์ฐฌ ๊ฐ๋ฐ์์ด๋ค. ๋ฌด์ธ๊ฐ๋ฅผ ์์ฒญ๋๊ฒ ๊พธ์คํ ํ๋ค๋ ๋ป์ด๋๊น..
๊ทธ๋์ ๊ฒฐ์ฌ!! ๋๋ ์ด๋ก๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์.
์ด๋ป๊ฒ ์ด๋ก ๊ฐ๋ฐ์๊ฐ ๋์ง?
๊พธ์คํ ํ๋ก์ ํธ๋ฅผ ๊ณต๊ฐ์ ์ผ๋ก ๊ฐ๋ฐํ๋ฉด ๋๋ค. (1๋ ๋๊ฒ..) ์ฆ, ์ผ์ผ ์ปค๋ฐ์ ํ๋ฉด ๋๋๋ฐ, ์ด๊ฒ ์ฌ๊ฐ ํ๋ ๊ฒ ์๋๋๋ผ..
๊ฐ๋ฐ์์ ์ต๊ณ ์ฅ์ ์ ์์ ์ด ์ํ๋๊ฑธ ๋๋ฑ๋๋ฑ ๋ง๋ค์ด๋ผ ์ ์๋ค๋ ์ .
ํ์๊ฐ์ ์ด๋ก์ด๋ก ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด๊ธฐ๋ก ๊ฒฐ์ฌ์ ํ๋ค.
์๋จธ๋ฆฌ๋ฅผ ๊ตด๋ ค๋ณด์.
๊ฐ์ง ์ปค๋ฐ์ ๋ง๊ตฌ๋ง๊ตฌ ๋ง๋ค์ด์ ์ด๋ก์ด๋กํด ๋ณด์ด๋๋ก ํด๋ณด์. ๊ธฐ์กด ์ปค๋ฐ์ ๋ ์ง๋ฅผ ๋ฐ๊ฟ๊น..๋ ์๊ฐํด๋ดค์ง๋ง ๊ทธ๊ฑด ์ ์งํ๋๊ณ ์๋ ํ๋ก์ ํธ๋ฅผ ๋ง์ณ๋ฒ๋ฆฌ๋ ๋ฌด.๋ฆฌ.์! ์ปดํจํฐ์ ๋ ์ง๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์ปค๋ฐํ๋๊ฒ๋ ๋ฌด๋ฆฌ์..
git commit with time ์ด๋ผ๊ณ ๊ตฌ๊ธ์ ๋๊ป ์ฌ์ญค๋ณด๋ฉด, ์ด๋ค ๋ช ๋ น์ด๋ฅผ ํตํด ์ปค๋ฐ์ ํ ๋ ๋ ์ง๋ฅผ ์ค์ ํ ์ ์๋์ง ์ ์ค๋ช ๋์ด์๋ Stack overflow ๋ต๋ณ์ ์ฃผ์ ๋ค. (์ง๋ฌธ์๋ ์๋ง ํ๋ฃจ์ข ์ผ ๋์๋ค๋๊ฑธ Boss์๊ฒ ๊ฑธ๋ฆฌ์ง ์๊ธฐ ์ํด ๊ทธ๋ฐ ์ง๋ฌธ์ ํ์ง ์์์๊น ํ๋..)
$ GIT_AUTHOR_DATE='your date' GIT_COMMITTER_DATE='your date' git commit -m 'new (old) files'
์์ ๋ช ๋ น์ด๋ฅผ ํตํด ๊ฐ์ง ๋ ์ง๋ก ์ปค๋ฐํ ์ ์๋ค๊ณ ์ฌ๊ธฐ ์ ๋์์์ผ๋ ํ์ธํด๋ณด์.
์ด๋ป๊ฒ ์์ฝ๊ฒ ๊ฐ์ง ์ปค๋ฐ์ ๋ง๋ค์ง?
์ฅ? ๋ด ํน๊ธฐ๊ฐ ์์ ๋ฉ๋ ์ ํค๋ฉ ์๋๋?
๋ช ๋ฌ ์ , ์๋์ ์งค๋ฐฉ์ script๋ก ๋ง๋ค์ด์ค git-fire๊ฐ ํฐ ์ธ๊ธฐ๋ฅผ ๋์๋ค.
์ผ๋จ ํ ์ค ์๋๊ฒ ์์ผ๋ git-fire๋ฅผ Clone!
git-fire๋ shell script๋ก ์์ฑ๋์ด์์๋ค. ๋ Shell Script๋ฅผ ์์ฑํด๋ณธ์ ์ด ์๋๋ฐ?
๊ตฌ๊ธ์ ๋์ ๋ฏฟ์ด๋ณด๊ณ , ํ๋ํ๋ ์์ค์ฝ๋๋ฅผ ์์ ํด ๋ณด์๋ค.
์๋๋ ๋ด๊ฐ Shell script๋ฅผ ์์ฑํ๋ฉฐ ๋๋ ์ ๋ค..
์ ์ธ๊ณ๋ค..
ํ์ง๋ง ๊ตฌ๋ฆฌ๋ค.
a=b๋ ๋์ง๋ง a = b ๋ ์๋๋ค.
array=( a b c d e) ๋ ๋์ง๋ง array = (a b c d e)๋ ์๋๋ค..
๊ทผ๋ฐ ๋ง์ ํด๋ณด๋ ์ฌ๋ฐ๋ค.
ํ์ฌ ๋ ์ง๋ฅผ ๊ฐ์ ธ์ค๋๊ฒ ์กฐ์ฐจ ํ๋ค์๋ค. ์๋ ์ ์ฐ๋๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด ๊ตฌ๊ธ์ ๋๊ป ๊ฒ์ํด๋ณด์๋๋ฐ, ์๋์!! ๊ฒฐ๊ตญ ํ์ฌ ์ฐ๋์์ -1 ํ๋ ๋ฐฉํฅ์ผ๋ก ์งํ์ ํ๋ค.
์ฐ/์/์ผ์ ์ด๋ป๊ฒ ์ ํด์ฃผ์ง? 2์์ 28์ผ๊น์ง๊ณ .. 1์์ 31์ผ ๊น์ง๊ณ .. 4์์ 30์ผ ๊น์ง๋ฐ..
์ฅ๋์ผ๋ก ์ต๋๊ฐ์ด 31์ด๋ ๋ชจ๋ ๋ฌ์ ์ปค๋ฐ์ 1์ผ์์ 31์ผ๊น์ง!!! ๋ผ๊ณ ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ..์ ๊ธฐํ๊ฒ๋ ์ ๋์๊ฐ๋ค. ์ฌใ
์/๋ถ/์ด๋ ๋๊ฐ ๊ฒฐ์ ํ์ง?
๊ฐ๋ฐ์์ธ ๋ด๊ฐ ๊ฒฐ์ ํ ์ ์์ผ๋ ์ปดํจํฐ์ ๋งก๊ธฐ์!
์ฌ๊ธฐ์ ๋ฆฌ๋นํฌ์ธํธ! Shell Script์์ ๋๋ค ์ซ์๋ย $RANDOM ๋ฅผ ํตํด ๊ฐ์ ธ์ฌ ์ ์๋ค~^^
๋๋ฌด ์๋๋ฌ์!
for๋ฌธ์ ๋๋ฉด์ Git add, commit์ ํ๋ ์คํฌ๋ฆฝํธ์ด๋ค ๋ณด๋, ๊น add, commit ํ ๋ ๋๋ฌด ๋ง์ ์๋ฆผ ๋ฉ์์ง๋ค์ด ์ปค๋งจ๋ ๋ผ์ธ์ ์ฐจ์งํ๋ค..
์๋น๋ก์ด ๊ตฌ๊ธ์ ๋๊ป ๋ถํ์ ํด๋ณด์. ํน์ ๋ช ๋ น์ด ๋ค์ย >/dev/null ์ย ๋ถ์ด๋ฉด ํด๋น ๋ช ๋ น์ด๋ก ์ธํด ๋ฐ์ํ๋ ๋ก๊ทธ๋ค์ /dev/null๋ก ๊ฐ๋ฒ๋ฆฌ๋ฉด์ ์ฌ๋ผ์ง๊ฒ ๋๋ค๊ณ ํ๋ค.
๋ง๋ฌด๋ฆฌ๋?
์ด๋ฆ์ ๋ญ๋ก ์ง์๊น ๊ณ ๋ฏผํ๋๋ฐ, ์ด๋ก์ด๋กํ๊ฒ ๋ง๋ค์ด์ฃผ๋ git-eco๋ก ํ ๊น ํ์ง๋ง.. ๋๋ฌด ๊นํ์ ๊ตญํ๋ ์๋ช ๊ฐ์์, git-faker (๊น-์ฌ๊ธฐ๊พผ) ์ผ๋ก ๊ฒฐ์ !
GitHub์ ์ฌ๋ ธ๋ค. ์ฃผ๋ณ ์ง์ธ๋ค์ ๋ฐ์๋ ๊ฝค ๊ด์ฐฎ์๋ค.
๋! ๋งบ์ผ๋ฉฐ
BEFORE
AFTER
์ง๊ธ์ git-faker๋ ์๋ฏธ์๋ ํ ์คํธ ํ์ผ์ ๋ง๋ค์ด์ ์๋ฏธ์๋ ์ปค๋ฐ์ ๋ง๋ค์ด์ฃผ๊ณ ์๋ค.
๋๋ถ์, git-faker๋ฅผ ์ฌ์ฉํ Git repository ์ธ์ด ๋ถํฌ์จ์ GitHub์์ ํ์ธํ๋ฉด ์๋์ ๊ฐ์ด Groff๋ผ๋ ๋์ด ๋ํ๋๋ฒ๋ฆฐ๋ค..ใ ใ
๋ค์ ์ ๋ฐ์ดํธ ๋์๋, ์ฌ์ฉ์๊ฐ ์ง์ ํน์ ์ธ์ด๋ฅผ ์ ํํ๋ฉด ํด๋น ์ธ์ด์ ๋ง๋ ํ์ผ์ ๋ง๋ค์ด์ ์ปค๋ฐํด์ฃผ๋๋ก ๊ฐ์ ํ ์์ ์ด๋ค. ๋ณด๋ค ๋์ faker๊ฐ ๋๊ธฐ ์ํด..











