Git ์ ์ฌ์ฉํ๋ฉด์ ์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ค์ ๋ํด ์ ๋ฆฌํ repository ์ ๋๋ค.
git add [file name]
git add .
git commit -m "[commit message]"
git commit -am "[commit message]"
git remote add [remote github repository address]
git push origin [branch name]
git checkout [branch name]
git checkout -b [branch name]
git branch -M [changed name]
git diff
git log
git log --graph
git checkout -- [file name]
git reset HEAD^
or
git revert HEAD
git commit --amend
git remote add --track master upstream [remote github repository address]
git pull --ff upstream master
git rebase -i HEAD~[commit ๊ฐ์]
.gitconfig
์์ ์ค์ ํด๋ editor ์ฐฝ์ด ๋ํ๋๋ค. ๊ธฐ์ค์ด ๋ ๋งจ ์์ ํ commit ๋ง pick
์ผ๋ก ๋๊ณ ๋๋จธ์ง๋ squash
๋ผ๋ ๋ช
๋ น์ด๋ก ๋ฐ๊ฟ์ค๋ค. :wq
๋ช
๋ น์ด๋ฅผ ํตํด ์ ์ฅํ๊ณ ์ข
๋ฃํ๋ค. ๊ทธ๋ฌ๋ฉด ๋ ๋ค๋ฅธ editor ์ฐฝ์ด ๋ํ๋๋๋ฐ, commit message ๋ฅผ ์ค์ ํ๋ editor ์ด๋ค. ์ํ๋ commit message ๋ฅผ ์
๋ ฅํ๊ณ :wq
๋ช
๋ น์ด๋ฅผ ํตํด ์ ์ฅํ๊ณ ์ข
๋ฃํด์ฃผ๋ฉด squash ๊ฐ ๋๋ค.
git reflog
git commit -C HEAD --amend
cf> ๋ง์ฝ push ๋ฅผ ํ ์ํ๋ผ๋ฉด -f
์ต์
์ ํตํด์ push ๋ฅผ ํด์ค์ผ ํ๋ค. commit ์ ์๋ก ์์ฑํ์ง ์๊ณ ๋ณ๊ฒฝ์ฌํญ์ ์ถ๊ฐํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ด๋ถ์ ์ผ๋ก๋ ์๋ก์ด ์ปค๋ฐ์ด ์๊ธฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ push ๋ commit ๊ณผ ๋ค๋ฅธ commit ์ด๋ค.
git update-index --assume-unchanged [ํ์ผ๋ช
]
git update-index --no-assume-unchanged [ํ์ผ๋ช
]
git stash
git stash pop
git cherry-pick [COMMIT_HASH_NUMBER]
git branch --unset-upstream
์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ง๋ง ๊ทธ ์ค ๋ ๊ฐ์ง.
git merge upstream/master
(resolve conflict in editor)
git add src
git commit
git rebase upstream/master
(resolve conflict in editor again)
git add src
git rebase --continue
git push -f upstream YOUR_BRANCH_NAME
or
git fetch upstream
git rebase upstream/master
(resolve conflict)
git add .
git rebase --continue
git push -f origin [YOUR_WORKING_BRANCH_NAME]
์ํฉ 2. ๊ณผ๊ฑฐ commit ์ fix ํ commit ์ด ์กด์ฌํ์ฌ ์ด commit ์์๋ฅผ ์ ๋ ฌํ๊ณ ์ถ์ ์ํฉ
์ด๋ค commit ์ด ์ด๋ฏธ ์ฌ๋ผ๊ฐ๋๋ฐ ๊ทธ commit ์ ํด๋นํ๋ ์์ ์ฌํญ์ด ๋ฐ์ํ๋ฉด ๊ทธ์ ํด๋นํ๋ fix commit ์ ์ถ๊ฐํ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด ๋, commit ์ ์์๊ฐ ๋์กํด์ง๋๋ฐ ์ด ๊ฒฝ์ฐ,fixup
๊ณผ autosquash
command ๋ฅผ ์ฌ์ฉํ๋ค.
git commit --fixup [HASH]
์ด๋ ๊ฒ ํด์ ํด๋น fix commit ์ ์ถ๊ฐํด๋์ ๋ค์์
git rebase -i --autosquash [HASH]
์ ๋ช
๋ น์ด๋ฅผ ํตํด์ squash ํด์ฃผ๋ฉด ์ปค๋ฐ ์์๋ ์ ๋ ฌ๋๋ฉด์ ํ๋์ commit ์ผ๋ก squash ๋๋ค. ์ ๋ช
๋ น์ด์์ HASH
๋ ์ด๋ ์ปค๋ฐ๋ถํฐ squash ๋ฅผ ํ ๊ฒ์ธ๊ฐ๋ฅผ ์๋ฏธํ๋ค.
cf> fixup ๊ณผ squash ๊ทธ๋ฆฌ๊ณ squeeze ์ ์ฐจ์ด์
squash
๋ ์๋ก์ด ์ธํฐํ์ด์ค๊ฐ ์ด๋ฆฌ๋ฉด์ commit message ๋ ์์ (ํฌํจ ๋๋ ๋ฐฐ์ )ํ ์ ์๋ค. fixup
์ commit message ๋ฅผ pick
ํ commit ์ ๋ํด์๋ง ์ ์ฉํ๋ค. squeeze
๋ squash ํ๊ณ ์ ํ๋ ๋ชจ๋ commit message ๋ฅผ ํฌํจํ๋ฉด์ squash ํ๋ค.
Git
์ ์ค์นํ ๋๋ ํ ๋ฆฌ์๋ .gitconfig
ํ์ผ์ด ์กด์ฌํ๋ค. ์ด ํ์ผ์์ ์์ฃผ ์ฌ์ฉํ๋ ๋ช
๋ น์ด์ ๋ํด์ alias ๋ฅผ ์ง์ ํด์ค ์ ์๋ค.
[alias]
g = git
st = status
co = checkout
ad = add
cm = commit -m
acm = commit -am
ph = push
rb = rebase -i
fh = fetch
df = diff
br = branch -a
lg = log --graph --abbrev-commit --decorate --format=format:'%C(cyan)%h%C(reset) - %C(green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(yellow)%d% C(reset)' --all
re = reset HEAD\\^
fu = fetch upstream
rum = rebase upstream/master
pom = push origin master
list = config --get-regexp alias
readme = !git add . && git commit -m "Update README.md" && git push origin master
docs = !git add . && git commit -m "Update" && git push origin master
update = !git fetch upstream && git rebase upstream/master && git push origin master
- ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ ๋น ํ์ผ๋ก ๋ถ๋ฆฌํ๋ค
- ์ ๋ชฉ ํ์ 50 ์๋ก ์ ํํ๋ค
- ์ ๋ชฉ ํ ์ฒซ ๊ธ์๋ ๋๋ฌธ์๋ก ์ด๋ค
- ์ ๋ชฉ ํ ๋์ ๋ง์นจํ๋ฅผ ๋ฃ์ง ์๋๋ค
- ์ ๋ชฉ ํ์ ๋ช ๋ น๋ฌธ์ ์ฌ์ฉํ๋ค
- ๋ณธ๋ฌธ์ 72 ์ ๋จ์๋ก ๊ฐํํ๋ค
- ์ด๋ป๊ฒ ๋ณด๋ค๋ ๋ฌด์๊ณผ ์๋ฅผ ์ค๋ช ํ๋ค
- ์ ๋ชฉ
- ๋๋ฌธ์, ๋์ฌ๋ก ์์. ์์ 'If applied, this commit will '๊ฐ ์๋ต๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ
- ๊ฐ๊ธ์ 50 ์ ์์ชฝ
- ๋ง์นจํ ์๋ต
- ๋ณธ๋ฌธ
- 3 ๋ฒ์งธ ์ค๋ถํฐ ์์ (๋๋ฒ์งธ ์ค์ ๋น์)
- ์ต๋์ค ๋๋น๋ 80 ์. ์ด์์ ์ค๋ฐ๊ฟ
Add
: ์๋ก์ด ๊ธฐ๋ฅ ๋๋ api ์ถ๊ฐ- ์) Add API creating PDF
Remove
: ์ ๊ฑฐ- ์) Remove unused local variables
Enhance
: ๊ธฐ๋ฅ ๋๋ ์ฑ๋ฅ์ ํฅ์- ์) Enhance performance in select queries
Fix
: ๋ฒ๊ทธ, ์คํ, ์คํ์ผ์ ์์ - ์) Fix typos in Javadoc
- ์) Fix styles for standards of Naver Corp
Upgrade
: ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ ๊ทธ๋ ์ด๋- ์) Uprade commons-dbcp to 2.3.1
Document
: ๋ฌธ์ํRefactor
: ๋ฆฌํฉํ ๋งUpdate
: ๋ค๋ฅธ ์ฃผ๋ณ ์ํฉ์ ๋ง์ถ์ด์ ๊ฐฑ์- ์) Update README.md for 1.0 release
Polish
: ์ก๋คํ ์์ ๋ฌถ์ (๋ค๋ฅธ ์ ์ ํ ๋ฌธ๊ตฌ๊ฐ ์์ ๊ฒฝ์ฐ ์ฌ์ฉ)