๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

 

1. Local Repository ์ƒ์„ฑ

$ git init

ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— git ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

# ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์ด๋ฆ„์ด `project1`์ธ ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ
$ git init project1

# `mydir` ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์ด๋ฆ„์ด `hello`์ธ ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ
$ cd mydir
$ git init hello

# `./mydir/world` ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ €์žฅ์†Œ๋กœ ๋งŒ๋“ค๊ธฐ
$ git init ./mydir/world

โ€‹

2. Remote Repository ์ƒ์„ฑ

๊นƒํ—ˆ๋ธŒ, ๋น—๋ฒ„ํ‚ท, ๊นƒ๋žฉ๋“ฑ์˜ ๊นƒํ˜ธ์ŠคํŒ… ์—…์ฒด๋ฅผ ํ†ตํ•ด Remote Repository๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

$ git remote add origin https://github.com/your/repository
# origin: ์›๊ฒฉ์ €์žฅ์†Œ ์ฃผ์†Œ์˜ ๋Œ€๋ช…์‚ฌ. ๋งค๋ฒˆ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๋ฒˆ๊ฑฐ๋กญ๊ธฐ ๋•Œ๋ฌธ์— origin์œผ๋กœ ๋Œ€์ฒดํ•œ๋‹ค.
$ git remote set-url origin https://github.com/your/repository
# set-url: remote์ฃผ์†Œ๋ฅผ ์ž˜๋ชป์ณค๋‹ค๋ฉด ์ˆ˜์ •ํ•œ๋‹ค.

$ git remote show origin
# show origin:

 

3. git config ์„ค์ •

git config --global user.name "ABC"
git config --global user.email "ABC@DEF.com"

- ์ฒ˜์Œ push๋ฅผ ํ–ˆ๋‹ค๋ฉด, git config๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋“ฑ๋กํ•œ๋‹ค.

- ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํƒ€์ดํ•‘ํ•  ๋•Œ๋Š” ์ถœ๋ ฅ์ด ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ทธ๋ƒฅ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

โ€‹

4. git add

$ gid add .
// ๋ณ€๊ฒฝ๋œ ๋ชจ๋“  ํŒŒ์ผ์„ local repository์— ์ถ”๊ฐ€

$ git add --update
// ํ˜„์žฌ ๊นƒ์ด ์ถ”์ ํ•˜๊ณ  ์žˆ๋Š” ํŒŒ์ผ๋งŒ add

$ git add *.txt
// ๋ชจ๋“  txt ํŒŒ์ผ์„ add

$ git add Documents/coding/*/
// ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

 

5. git commitโ€‹

$ git commit ๋ช…๋ น์–ด

$ git commit -m "๋ฉ”์„ธ์ง€ ๋‚ด์šฉ"
// vi์—์„œ ๋ณ„๋„์˜ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  ์ธ๋ผ์ธ ํ˜•์‹์œผ๋กœ ๋ฐ”๋กœ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์˜ต์…˜

$ git commit -a [ํŒŒ์ผ๋ช…]
// "์ˆ˜์ •ํ•œ ํŒŒ์ผ"์— ๋Œ€ํ•ด add๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์˜ต์…˜
// ์ƒˆ๋กœ๋งŒ๋“  ํŒŒ์ผ์ด ์žˆ์œผ๋ฉด ๋”ฐ๋กœ add๋ฅผ ํ•ด์•ผํ•œ๋‹ค.

$ git commit -am "๋ฉ”์„ธ์ง€"
// a์˜ต์…˜๊ณผ m์˜ต์…˜์„ ํ•ฉ์ณ์„œ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜
$ git commit --ammend -m "commit_message"
# ๋งˆ์ง€๋ง‰ commit ๋ฉ”์‹œ์ง€ ์ˆ˜์ •ํ•˜๊ธฐ

$ git reset HEAD^
# ๋ฐ”๋กœ ์ด์ „ commit์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ (๋ฐฉ๊ธˆํ•œ ์ปค๋ฐ‹ ์ทจ์†Œ)
$ cd food_list
$ git add .

$ git branch food/cost
$ git branch food/feedback

$ git checkout food/cost
$ git commit -m "cost" food_cost.txt

$ git checkout food/feedback
$ git commit -m "feedback" food_feedback.txt

master ๋ธŒ๋žœ์น˜์— ๋ชจ๋“  ํŒŒ์ผ์„ addํ•œ ํ›„์— ํŠน์ • branch์—์„œ ํŠน์ • ํŒŒ์ผ๋งŒ ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

6. git push

$ git push { ์›๊ฒฉ์ €์žฅ์†Œ ์ด๋ฆ„ } { ์›๊ฒฉ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ }
$ git push origin master
# remote repository๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ master๋ผ๋Š” ์ด๋ฆ„์˜ ๋ธŒ๋žœ์น˜๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

$ git push origin { ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ }
# ๋‹ค๋ฅธ branch๋กœ push ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋ฅผ ํŠน์ • ๋ธŒ๋žœ์น˜๋ช…์œผ๋กœ ๋ฐ”๊พผ๋‹ค.

$ git push -u { ์›๊ฒฉ ์ €์žฅ์†Œ ๋ณ„๋ช… } { ๋กœ์ปฌ ๋ธŒ๋žœ์น˜๋ช… }
# ์ดํ›„์— git push ๋ช…๋ น์–ด๋งŒ ์ž…๋ ฅํ•ด๋„ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ push ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

git push --delete { ์›๊ฒฉ ๋ธŒ๋žœ์น˜๋ช… }
# remote repository์— ์žˆ๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

 

-u ์˜ต์…˜: master ๋ผ๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ์ž๋™์œผ๋กœ origin ์ด๋ผ๋Š” ์›๊ฒฉ์ €์žฅ์†Œ์˜ master ๋ธŒ๋žœ์น˜๋กœ ์—ฐ๊ฒฐํ•ด ๊ฐ„๋‹จํžˆ git push ๋งŒ ์ž…๋ ฅํ•˜์—ฌ ๋ฐ˜์˜ํ•˜๊ฑฐ๋‚˜ git pull ์„ ์ž…๋ ฅํ•  ๋•Œ origin์ด๋ผ๋Š” ์›๊ฒฉ์ €์žฅ์†Œ์˜ master ๋ธŒ๋žœ์น˜๋ฅผ ๋กœ์ปฌ ์ €์žฅ์†Œ์˜ master ๋ธŒ๋žœ์น˜๋กœ merge ํ• ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์›๊ฒฉ์ €์žฅ์†Œ์™€ ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์ž๋™ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋‹ค.

 

- push ํ•˜๊ธฐ ์ „์— Local Repo๋Š” ํ•ญ์ƒ Remote Repo์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค.

- Remote Repo์— ์กด์žฌํ•˜๋Š” ์ปค๋ฐ‹์ด Local Repo์— ์—†์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

โ€‹โ€‹

7. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ

git init
git remote add orgin master
git config
git add .
git commit -m "Initial Commit"
git push origin master
git add .
git commit -m "๋ฉ”์‹œ์ง€ ๋‚ด์šฉ"
git push origin {๋ธŒ๋žœ์น˜๋ช…}
๋ฐ˜์‘ํ˜•