Git_sourcetree - 8BitsCoding/RobotMentor GitHub Wiki

๋ชฉ์ฐจ

๊ธฐ์ดˆ์  ๋‚ด์šฉ

์—ฌ๊ธฐ์„œ ๋ถ€ํ„ฐ ์‹ฌํ™”

์ƒํ™œ์ฝ”๋”ฉ - git-sourcetree ๋‚ด์šฉ์ •๋ฆฌ

์กฐ๊ธˆ ๋” ๊ณ ๊ธ‰ ์ฃผ์ œ


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ํ•  ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•œ๋‹ค.


ํ™˜๊ฒฝํŒŒ์ผ์˜ ๊ด€๋ฆฌ