Git_sourcetree - 8BitsCoding/RobotMentor GitHub Wiki
๋ชฉ์ฐจ
๊ธฐ์ด์ ๋ด์ฉ
์ฌ๊ธฐ์ ๋ถํฐ ์ฌํ
์ํ์ฝ๋ฉ - git-sourcetree ๋ด์ฉ์ ๋ฆฌ
- ์ ์ฅ์ ๋ง๋ค๊ธฐ(init)
- ์์ด๋/email ์ค์ ๋ฐ ์ฒซ ๋ฒ์งธ commit
- working copy, add, index, staging area ๊ฐ๋
- (commit ์ด์ ) ์์ ์ฌํญ ์ทจ์ํ๊ธฐ
- (commit ์ดํ) Reset(hard)
- (commit์ ์ญ์ ํ์ง ์๊ณ ์ด์ commit์ผ๋ก ๋์๊ฐ) Revert
- Branch ๋ง๋ค๊ธฐ
- Branch ํฉ์น๊ธฐ ๋ฐ ์ถฉ๋ ํด๊ฒฐ
- ์ถฉ๋์ ์๋ฐฉํ๊ณ ์ถ๋ค๋ฉด?
- ์๊ฒฉ์ ์ฅ์(Github) ํ์ฉ
- ํ์ ํด๋ณด๊ธฐ
- ํ์ ์ค ์ถฉ๋์ ๋ฐฉ์งํ๋ ค๋ฉด?
์กฐ๊ธ ๋ ๊ณ ๊ธ ์ฃผ์
- ์ฐจ์ด์ ๋น๊ต ๋๊ตฌ
- ์ฐจ์ด์ ๋น๊ต ๋๊ตฌ ์ถฉ๋ ์ํฉ ๋์ฒ
- Stash : ์ง๊ธ๊น์ง ํด์๋ ์ฝ๋๋ฅผ ๋จ๊ฒจ๋๊ณ ๋ค๋ฅธ ์์ ์ ํ๊ณ ์ถ๋ค.
- Tag
- gitignore ์ ์ฉ
- ํ๊ฒฝํ์ผ์ ๊ด๋ฆฌ
clone ํด๋ณด์
๋๋ฌด ์ฝ๊ธฐ์ ์ค๋ช ์ ์๋ตํ๋ค...
commit ํด๋ณด์
์ฌ๊ธฐ๋ ๋๋ฌด ์ฝ๊ธฐ์ ์๋ต...
push ํด๋ณด์
๊ทธ๋ฅ push ๋ฒํผ ๋๋ฅด๋ฉด ๋จ..
pull ํด๋ณด์
๊ทธ๋ฅ pull ๋ฒํผ ๋๋ฅด๋ฉด ๋จ..
Branch์ ๊ดํด์
ํ์ฌ branch๋ ๋ค์๊ณผ ๊ฐ์ด ์ธ ๊ฐ์ง๊ฐ ์๋ค.
master, origin/master, origin/HEAD
- master : ๊ฐ์ฅ ์ด๊ธฐ์ ์์ฑ๋๋ branch ๋ณดํต ์ฌ๊ธฐ์ release ๋ฒ์ ์ ์์ค๋ฅผ ๋ฃ๋๋ค.
- HEAD : HEAD๋ ํ์ฌ ๋ด๊ฐ ์ ํํ branch๋ฅผ ์๋ฏธํ๋ค.
์ ์ฅ์ ๋ง๋ค๊ธฐ(init)
์์ด๋/email ์ค์ ๋ฐ ์ฒซ ๋ฒ์งธ commit
์์ด๋/๋น๋ฐ๋ฒํธ ์ ๋ณด๋ฅผ ๋จผ์ ์ ๋ ฅํด ๋ฌ์ผํจ.
์ฝ๊ธฐ์ ๋ด์ฉ์ ์๋ต
working copy, add, index, staging area ๊ฐ๋
(commit ์ด์ ) ์์ ์ฌํญ ์ทจ์ํ๊ธฐ
commit ์ด์ ํน์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋๋ฐ ๋ค์ ๋ ๋๋ฆฌ๊ณ ์ถ๋ค๋ฉด??
commit ํ ๋น์๋ก ๋๋ ค๋ณด๋ด ์ค๋ค.
(commit ์ดํ) Reset(hard)
ํด๋น commit ์ฐํด๋ฆญ -> ์ด ์ปค๋ฐ๊น์ง ํ์ฌ ๋ธ๋์น ์ด๊ธฐํ -> hard ์ ํ
์์์ commit ๋ด์ฉ์ด ๋ชจ๋ ๋ ์๊ฐ๋ค.
(commit ์ดํ) Reset(mixed)
commit ์ ๋ณด๋ฅผ ์์ ๊ณ ํ์ฌ working copy์ ๋ด์ฉ์ ๋จ๊ธฐ๊ณ ์ถ์ ๋.
ํด๋น commit ์ฐํด๋ฆญ -> ์ด ์ปค๋ฐ๊น์ง ํ์ฌ ๋ธ๋์น ์ด๊ธฐํ -> mixed ์ ํ
๋ด์ฉ ์ถ๊ฐ 1, 2 commit์ ๋ ๋ฆฌ๊ณ ์ถ๊ณ ํ์ฌ working copy์ ๋ด์ฉ์ ๋จ๊ธฐ๊ณ ์ถ๋ค
(commit์ ์ญ์ ํ์ง ์๊ณ ์ด์ commit์ผ๋ก ๋์๊ฐ) Revert
commit์ ์ญ์ ํ์ง ์์ผ๋ฉด์ ์์ commit์ผ๋ก ๋์๊ฐ๊ณ ์ถ๋ค๋ฉด?
๋จ, ํ ๋ฒ์ ์ฌ๋ฌ commit์ ์ด๋ํ๊ฒ ๋๋ฉด ์ถฉ๋์ด ๋ฐ์ํ๊ธฐ์ ์์ฐจ์ ์ผ๋ก revert๋ฅผ ์งํํ๋ค.
Branch ๋ง๋ค๊ธฐ
๋ธ๋์น ๋ฒํผ์ ํตํด์ ๋ธ๋์น ์์ฑ์ด ๊ฐ๋ฅ
์ฌ๊ธฐ์ ์ค์ํ๊ฑฐ๋ ์ข์ธก์ master, develop์ ๊ณ ๋ฅด๋ฉด ์ฝ๋๊ฐ ๋ฌ๋ผ์ง๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์.
Branch ํฉ์น๊ธฐ ๋ฐ ์ถฉ๋ ํด๊ฒฐ
ํ๊ณ ์ถ์๊ฒ master์์ develop์ ๋ด์ฉ์ ์ถ๊ฐํ๋ ๊ฑฐ๊ฒ ์ง??
Branch๋ฅผ master๋ก ์ด๋ ํ ๋ณํฉ์ ๋๋ฅธ๋ค.
์ถฉ๋์ด ์์ฃผ ๋ฐ์ํ๊ฒ ๋๋ค.
์ถฉ๋ ์ํฉ์ ํ์ธ ํ git์๊ฒ ํด๊ฒฐํ๋ค๋ ๊ฒ์ ์๋ ค์ค์ผํ๋ค.
๋ค์ commit์ ๋ ๋ฆฌ๋ฉด๋๋ค.
์ถฉ๋์ ์๋ฐฉํ๊ณ ์ถ๋ค๋ฉด?
- ์ฃผ๊ธฐ์ ์ผ๋ก ๋ณํฉ์ ์งํํ๋ค.
์๊ฒฉ์ ์ฅ์(Github) ํ์ฉ
์๊ฒฉ์ ์ฅ์์ ๋ก์ปฌ์ ์ฅ์๋ฅผ ์ฐ๊ฒฐํ์
push๋ฅผ ํด๋ณธ๋ค.
๊ฐ Branch์ ์์น๋ฅผ ํ์ธํ์
๊น ํ์ push์ดํ
ํ์ ์ค ์ถฉ๋์ ๋ฐฉ์งํ๋ ค๋ฉด?
์ญ์ pull/๋ณํฉ์ ์์ฃผ ํ๋ค.
ํ ๋ฒ ์ถฉ๋์ ๋ง๋ค์ด๋ณด์.
์ฐจ์ด์ ๋น๊ต ๋๊ตฌ
์์ ์์๋ beyond compare๋ฅผ ์ฌ์ฉ
์ ๋ฃ์ด๊ธดํ๋ ๋ ๋ด๊ณ ์ธ๋งํ๋ค๋ ํ...
์ฐ์ sourcetree์์ diff๋ฅผ ๊ธฐ๋ณธ ์คํํ๋ก๊ทธ๋จ์ ์ค์ ํ๋ค.
์ฐจ์ด์ ๋น๊ต ๋๊ตฌ ์ถฉ๋ ์ํฉ ๋์ฒ
๊ฐ์ฅ ์๋ ์ฐฝ์ ๋ด๊ฐ ์์ ํ ์ฐฝ
๊ฐ์ด๋ฐ ์ฐฝ์ ๊ณตํต์ ์ฐฝ
์ผ/์ค๋ฅธ์ชฝ ์ฐฝ์ ๊ฐ commitํ๋ฉด
Stash
Stash(์์ ํ ๊ณณ์ ๋ณด๊ดํด ๋๋ค.) :
์ง๊ธ๊น์ง ํด์๋ ์ฝ๋๋ฅผ ๋จ๊ฒจ๋๊ณ ๋ค๋ฅธ ์์ ์ ํ๊ณ ์ถ๋ค.
Tag
๋ฒ์ ๋ค ์์์ ์๋ฏธ์๋ ๋ฒ์ ์ ๊ด๋ฆฌ
์๊ฒฉ์ ์ฅ์์ pushํ ๋ tag์ ๋ณด๋ฅผ ๊ฐ์ด ๋ฃ์ด์ฃผ๊ธฐ ์ํด์ ๊ผญ ์ ํํ์.
gitignore ์ ์ฉ
ignoreํ ํ์ผ์ ๊ด๋ฆฌํ๋ค.