๋ฒ๊ทธ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ ธ์ถ๋ฉ๋๋ค.
$ git flow init # accept the defaults
$ echo "foo" > foo
$ git add . && git commit -m 'Add foo' # on develop
$ git flow release start 0.1.0
$ echo "bar" > bar
$ git add . && git commit -m 'Add bar' # on release/0.1.0
$ git flow release finish -m "Test release" 0.1.0
flags:FATAL the available getopt does not support spaces in options
-m
ํ๋๊ทธ์ ๊ณต๊ฐ์๋ Mac OS X getopt๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌ ํ ์์๋ ๊ณต๊ฐ์ด ํฌํจ๋์ด ์์ต๋๋ค.
์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ์ ๋ OSX์์ ์ผํ๊ณ ์์ผ๋ฉฐ ํด๊ฒฐ์ฑ ์ ์ฐพ๊ณ ์์ต๋๋ค. ๋ฏธ๋ฆฌ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋๋ ํฐ ๋ฉ์ฒญ์ด์ด๊ธฐ ๋๋ฌธ์ textmate๋ฅผ ๋ด ์์ ํธ์ง๊ธฐ๋ก ์ฌ์ฉํ์ต๋๋ค. ํฐ๋ฏธ๋ ํธ์ง๊ธฐ (vi, pico, nano ๋ฑ)๋ก ์ ํํ๊ณ ๋ ์ด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค.
์ด๊ฒ์ ๋ณ์ ํ์ฅ์ผ๋ก # 160์ผ๋ก ์์ ๋ ์์๋ # 50์ ๋ฒ๊ทธ๋ก ์ธํด ๋ฐ์ํ์ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์ด๋ ค ์์ผ๋ฉฐ shFlags์ ๊ด๋ จ๋ ํน์ Mac OS X ์ ์ฉ ์ํ๊ณผ ๊ด๋ จ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ด ํ ์์ฒญ https://github.com/nvie/gitflow/pull/223 ์ ์ฐธ์กฐํ์ญ์์ค. 'git tag -F'์ ๋งคํ๋๋ ์ต์ ์ ๊ตฌํํ์ฌ ํ์ผ์์ ๋ฉ์์ง๋ฅผ ์ฝ๊ณ ๋ํ ํ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
๋๋ ๋ด๊ฐ์ด ํํฐ์ ๋ฆ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง, ์๋๋ ์์ # 50์์ ์ค๋ช ํ ๋ฌธ์ ์์ด OS X์ git-flow๋ฅผ ์ค์นํ๊ธฐ ์ํด ๋์ ๋๋ฃ๋ค์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๊ฐ๋จํ ์ง์นจ์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๋ก ์์ฝ๋ฉ๋๋ค.
์ด ์ง์นจ์ Homebrew๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์ค์น ๋์์ด ํฌํจ ๋ ๊ธด ๋ฌธ์์์ ๋ฐ์ท ํ ๊ฒ์ด์ง๋ง ์ฌ๊ธฐ์ ์ธ๊ธ ๋ ๋ด์ฉ์ ์์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ชจ๋ ๋ฒ๊ทธ ๋๋ ํน์ฑ์ผ๋ก ์ธํด ์ด๋ ์ ๋์ ๋ฐ์ด๋๋ฅผ ํฌํจํ๋ฉฐ, ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ถ๊ธํ์ ๋ถ๋ค์ ์ํด ์ธ๋ถ ์ฌํญ์ ์ ๊ณตํด ๋๋ฆฌ๊ฒ ์ต๋๋ค. git-flow์ ์ ๋ฆด๋ฆฌ์ค๊ฐ Homebrew์ ์ค๋ฉฐ ๋ค๋ฉด์ด ๋ชจ๋ ๊ฒ์ด ๋ถํ์ํฉ๋๋ค.
๋ช ๋ น:
์ต์ shflags๋ก ์ต์ git-flow๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ค์นํฉ๋๋ค.
$ git clone git://github.com/nvie/gitflow.git
$ cd gitflow
$ git svn clone -r HEAD http://shflags.googlecode.com/svn/trunk/source/1.0 shFlags
$ sudo make install
git ์์ด๋ ํ ์ ์์ต๋๋ค.
$ curl -L https://github.com/nvie/gitflow/tarball/develop | tar --exclude '*shFlags' -s '/nvie-\(gitflow\)-[a-z0-9]\{1,\}/\1/' -xvf -
$ cd gitflow
$ curl -L -o gitflow-shFlags http://shflags.googlecode.com/svn/trunk/source/1.0/src/shflags
$ sudo make install
gnu-getopt (Homebrew ํฌํจ)๋ฅผ ์ค์นํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ๋๋ก shflags๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
$ brew install gnu-getopt
$ echo 'export FLAGS_GETOPT_CMD="$(brew --prefix gnu-getopt)/bin/getopt"' >> ~/.bashrc
์ ํฐ๋ฏธ๋ ์ธ์ ์ ์์ํ์ฌ ๋ก๊ทธ์ธ ์ ธ์ด FLAGS_GETOPT_CMD๋ฅผ ์ ํํ๋์ง ํ์ธํฉ๋๋ค.
$ echo $FLAGS_GETOPT_CMD
๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ฐํํด์ผํฉ๋๋ค. /usr/local/Cellar/gnu-getopt/1.1.4/bin/getopt
2017
์ด๊ณ ์ํฉ์ด ๋ฐ๋ ์์ต๋๋ค.
http://shflags.googlecode.com/svn/trunk/source/1.0/src/shflags
์ด ์ด๋ํ์ฌ 404๋ฅผ ๋ฐํํฉ๋๋ค.
๋์ https://raw.githubusercontent.com/nvie/shFlags/master/src/shflags
git-flow
๋ก shFlags
$ curl -L https://github.com/nvie/gitflow/tarball/develop | tar --exclude '*shFlags' -s '/nvie-\(gitflow\)-[a-z0-9]\{1,\}/\1/' -xvf -
$ cd gitflow
$ curl -L -o gitflow-shFlags https://raw.githubusercontent.com/nvie/shFlags/master/src/shflags
$ sudo make install
gnu-getopt (Homebrew ํฌํจ)๋ฅผ ์ค์นํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ๋๋ก shflags๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
$ brew install gnu-getopt
$ echo 'export FLAGS_GETOPT_CMD="$(brew --prefix gnu-getopt)/bin/getopt"' >> ~/.bashrc
์ ํฐ๋ฏธ๋ ์ธ์ ์ ์์ํ์ฌ ๋ก๊ทธ์ธ ์ ธ์ด FLAGS_GETOPT_CMD๋ฅผ ์ ํํ๋์ง ํ์ธํฉ๋๋ค.
$ echo $FLAGS_GETOPT_CMD
/usr/local/Cellar/gnu-getopt/1.1.4/bin/getopt
์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ผํฉ๋๋ค.
ํ๋ ค๋ ์์ ์ ๋ค์ ์๋ํ์ญ์์ค.
์ด ๋จ๊ณ๋ฅผ ์ํํ๋๋ฐ ์์ฝ๊ฐ ์๋ฌด๊ฒ๋ ํ์ํ์ง ์์ผ๋ฉด ์ด๋ป๊ฒ๋ฉ๋๊น? ํ์ง๋ง .bashrc๊ฐ ์
๋ฐ์ดํธ๋๊ณ ํฐ๋ฏธ๋์ด ๋ค์๋ก๋๋์์ต๋๋ค.
MacBook-Pro-mac-2 : ~ loyi $ echo $ FLAGS_GETOPT_CMD
MacBook-Pro-mac-2 : ~ loyi $
@kahurangitama ๋ Zsh์ ๊ฐ์ ๋ค๋ฅธ ์ ธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. http://zpalexander.com/switching-to-zsh/
์์ ์ธ๊ธ ํ ๋ช
๋ น์ ๋ค์ ๋ช
๋ น์ผ๋ก ๋ฐ๊ฟ์ผํ์ต๋๋ค.
echo 'export FLAGS_GETOPT_CMD="$(brew --prefix gnu-getopt)/bin/getopt"' >> ~/.zshrc
( ~/.bashrc
๋์ )
ํด๊ฒฐ์์ํ ๋์ ํด๊ฒฐ์ฑ .
git-flow-avh
์๋๋ผ git-flow
์ด๋ฏธ ์ค์นํ์ต๋๋ค. ๊ทธ๋์ ์ด๊ฒ์ ํด๊ฒฐํ๊ธฐ ์ํด ์๋์ผ๋ก ๋ค์์ ์คํํฉ๋๋ค.
brew install git-flow-avh
brew link git-flow-avh -f
git-flow-avh
์์๋ ๋ ์ด์ FLAGS_GETOPT_CMD
๋ฅผ ์ค์ ํ ํ์๊ฐ ์์ต๋๋ค.
๋ฐํ : 4 ๊ฐ์ ํจํค์ง๊ฐ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋์์ต๋๋ค ... ๋ฑ ...
@heymartinadams๊ฐ ZSH ์
ธ์์ ๋งํ๋ฏ์ด ์ถฉ๋์ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. .zsh ์ค์ ์ ๊ณ์ ์ค์ ํ๋ฉด .zshrc
๋ฅผ ํฐ์น ํ ํ์๊ฐ ์์ต๋๋ค.
.bashrc
source ~/.profile
.zshrc
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
์ด ์ฃผ์ ๊ฐ ๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ๋ด๊ฐ์ด ํํฐ์ ๋ฆ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง, ์๋๋ ์์ # 50์์ ์ค๋ช ํ ๋ฌธ์ ์์ด OS X์ git-flow๋ฅผ ์ค์นํ๊ธฐ ์ํด ๋์ ๋๋ฃ๋ค์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๊ฐ๋จํ ์ง์นจ์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๋ก ์์ฝ๋ฉ๋๋ค.
์ด ์ง์นจ์ Homebrew๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์ค์น ๋์์ด ํฌํจ ๋ ๊ธด ๋ฌธ์์์ ๋ฐ์ท ํ ๊ฒ์ด์ง๋ง ์ฌ๊ธฐ์ ์ธ๊ธ ๋ ๋ด์ฉ์ ์์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ชจ๋ ๋ฒ๊ทธ ๋๋ ํน์ฑ์ผ๋ก ์ธํด ์ด๋ ์ ๋์ ๋ฐ์ด๋๋ฅผ ํฌํจํ๋ฉฐ, ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ถ๊ธํ์ ๋ถ๋ค์ ์ํด ์ธ๋ถ ์ฌํญ์ ์ ๊ณตํด ๋๋ฆฌ๊ฒ ์ต๋๋ค. git-flow์ ์ ๋ฆด๋ฆฌ์ค๊ฐ Homebrew์ ์ค๋ฉฐ ๋ค๋ฉด์ด ๋ชจ๋ ๊ฒ์ด ๋ถํ์ํฉ๋๋ค.
๋ช ๋ น:
์ต์ shflags๋ก ์ต์ git-flow๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ค์นํฉ๋๋ค.
git ์์ด๋ ํ ์ ์์ต๋๋ค.
gnu-getopt (Homebrew ํฌํจ)๋ฅผ ์ค์นํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ๋๋ก shflags๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์ ํฐ๋ฏธ๋ ์ธ์ ์ ์์ํ์ฌ ๋ก๊ทธ์ธ ์ ธ์ด FLAGS_GETOPT_CMD๋ฅผ ์ ํํ๋์ง ํ์ธํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ฐํํด์ผํฉ๋๋ค. /usr/local/Cellar/gnu-getopt/1.1.4/bin/getopt