TIL 26 - Git / Github

crystaleeยท2021๋…„ 7์›” 31์ผ
0

JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
11/15
post-thumbnail

๐Ÿ“– git / github

๐Ÿฅฒ ์ฒซ๋ฒˆ์งธ ํŒ€ํ”„๋กœ์ ํŠธ์˜ ์‹ค์ˆ˜๋ฅผ ๋”›๊ณ  git์— ๋Œ€ํ•ด ์ค‘์š”์„ฑ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ํŒ€์›๋“ค๊ณผ ์œผ์Œฐ์œผ์Œฐํ•˜๋ฉด์„œ git ๊ณต๋ถ€๋ฅผ ๋” ๋งŽ์ด ํ–ˆ๊ณ  ๋‹ค์Œ์—” ๋ฐ˜๋ณต๋œ ์‹ค์ˆ˜๋ฅผ ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋Š˜ ๋ณต๊ธฐํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐํ–ˆ๋‹ค.

git init

์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒฝ๋กœ์— ๊นƒ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ช…๋ น์–ด

git status

๊นƒ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด

git add .

์šฐ๋ฆฌ๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ํŒŒ์ผ์„ git add .ํ•˜๋ฉด staging area์— ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค. ๊นƒ์— ์˜ฌ๋ผ๊ฐ€๊ธฐ ์ „ ๋Œ€๊ธฐ์‹ค์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

node_modules ๋ผ๋Š” ํด๋” ์šฉ๋Ÿ‰์ด ๋งŽ๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด๋ฐ›์€ ๋ชจ๋“ˆ์ด๋ผ๋Š” ์—…๋กœ๋“œ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

git commit -m "๋ฉ”์„ธ์ง€"

๋Œ€๊ธฐ์‹ค์— ์žˆ๋˜ ๊นƒ์„ ์˜ฌ๋ฆฌ๋Š” ๋ช…๋ น์–ด

git push origin [branch name]

๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— pushํ•œ๋‹ค.

git pull

git pull์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๊ธฐ์กด ๊นƒํ—ˆ๋ธŒ ๋“ฑ ์„œ๋ฒ„์— ์ปค๋ฐ‹๋˜์–ด์žˆ๋Š” ์ƒํƒœ์™€ ํ˜„์žฌ ๊ฐœ์ธ ์ปดํ“จํ„ฐ์™€์˜ ๋™๊ธฐํ™”๋ฅผ ์‹คํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.
์ด ๋•Œ ๋‘ ์‚ฌ์šฉ์ž(๊นƒํ—ˆ๋ธŒ์™€ ๊ฐœ์ธ)๊ฐ„ log history๊ฐ€ ๋‹ค๋ฅธ ์ƒํƒœ, ์ฆ‰ ์„œ๋กœ ๊ด€๋ จ๋œ ๊ธฐ๋ก์ด ์—†๋Š” ์ด์งˆ์ ์ธ ๋‘ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณ‘ํ•ฉํ•˜๊ณ ์ž ํ•  ๋•Œ๋Š” ์•„๋ž˜์˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋ณ‘ํ•ฉ์„ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค.

git log

์ปค๋ฐ‹ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด

ls

๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด

git remote add ์ฃผ์†Œ

git remote add ๋ฆฌ๋ชจํŠธ๋ช… ์ฃผ์†Œ ๋ช…๋ น์„ ํ†ตํ•ด ์›ํ•˜๋Š” ๋ฆฌ๋ชจํŠธ ์ด๋ฆ„์œผ๋กœ ๋“ฑ๋กํ•˜๊ณ ์ž ํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ๊นƒ์—๊ฒŒ ๊ธฐ์–ตํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

git reset

  • ๊ธฐ์กด์˜ add๋œ Staged์ƒํƒœ์ธ ์ปค๋ฐ‹์„ ์›๋ž˜๋Œ€๋กœ Modified, ๋‚˜์•„๊ฐ€ Unmodified๋กœ ๋งŒ๋“ค๊ณ ์ž ํ•  ๋•Œ ์ฃผ๋กœ ์“ฐ์ด๋Š” ๋ช…๋ น์ด๋‹ค.
  • ๋ณดํ†ต ์˜ต์…˜๊ณผ reset์‚ฌ์ด์—๋Š” HEAD๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ๋„ฃ์–ด์ฃผ๋ฉฐ ์ด๋Š” ์ œ์ผ ์œ„ ์ปค๋ฐ‹๋ถ€ํ„ฐ ๋ช‡๋ฒˆ์งธ ์ปค๋ฐ‹๊นŒ์ง€๋ฅผ ๋˜๋Œ๋ฆด์ง€ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ์˜ต์…˜์ด๋‹ค.

git branch

git branch๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด

git checkout [branch name]

git branch๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด

git marge (์• ์ฆ..์˜ ๋จธ์ง€...)

๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด์ ธ์žˆ๋Š” ์ƒˆ๋กœ์šด ์ž‘์—…์ด master์— ํ•ฉ์ณ์ง€๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” master, ๋˜๋Š” ๋ฐ›๋Š” ์ชฝ์—์„œ ํ•ด๋‹น ๊ฐ€์ง€๋ฅผ ๋‹ค์‹œ ํก์ˆ˜ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ ์ดํ•ดํ•ด๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
merge๋ฅผ ํ•˜๋Š” ๊ณผ์ •์—์„œ๋Š” conflicts ๋“ฑ ์˜ค๋ฅ˜๊ฐ€ ์ž์ฃผ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„์ „์„ ์ตœ์‹ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์•„์ฃผ ์ค‘์š”ํ•˜๋‹ค.
๋งŒ์ผ ์ด๋ฏธ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ€์ง€๋ฅผ ๋ป—์–ด๋‚˜๊ฐ€ ํ•œ ๊ฐ€์ง€๋ฅผ ์„ ํƒํ•˜๊ธฐ์— ๊ณค๋ž€ํ•  ๊ฒฝ์šฐ git merge --abort ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ฒŒ ๋˜๋ฉด ํ˜„์žฌ ์ง„ํ–‰ํ•˜๋ ค ํ–ˆ๋˜ ๋ณ‘ํ•ฉ ์ž‘์—…์„ ํฌ๊ธฐํ•˜๊ณ  ์„œ๋กœ ๋ณ„๊ฐœ์˜ ๊ฐ€์ง€์ƒํƒœ๋กœ ๋‘๊ฒŒ ๋œ๋‹ค.
ํ•ด๋‹น ํŒŒ์ผ์„ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋กœ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๊ฐ™์€ ํŒŒ์ผ๋ช…์˜ ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ์ž‘์„ฑํ•ด ์ œ 3์˜ ์„ ํƒ์ง€๋กœ ๋งŒ๋“ค์–ด ๋„ฃ์–ด์ฃผ๊ณ ์ž ํ•œ๋‹ค๋ฉด add์ž‘์—…์„ ํ†ตํ•ด ํ•ด๋‹น ๋ฒ„์ „์„ ๋„ฃ์–ด์ฃผ์–ด confilct๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์กด์žฌํ•œ๋‹ค.

profile
์ฝ”๋ฆฐ์ด ์„ฑ์žฅ์ผ๊ธฐ

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2021๋…„ 8์›” 12์ผ

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๋„์›€ ๋งŽ์ด ๋์Šต๋‹ˆ๋‹ค

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ