We.TIL 11 : GIT ๊ธฐ์ดˆ

๊น€๊ธฐ์šฑยท2020๋…„ 7์›” 29์ผ
0

We.TIL

๋ชฉ๋ก ๋ณด๊ธฐ
19/69

๐Ÿ‘‰GIT?

ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋ฒ„์ „๊ด€๋ฆฌ
๋ฐฑ์—… / ๋ณต์› / ํ˜‘์—…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํˆด
๋Œ€ํ‘œ์ ์ธ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ : CVS, SVN, GIT
์˜ค๋Š˜๋‚  ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์Šคํ…œ : GIT

๊นƒ์˜ ๋‚œ์ด๋„? ๊ธฐ๋Šฅ์˜ ๋ณต์žกํ™”๋กœ ์ธํ•ด ์‚ฌ์šฉ๋ฒ•์˜ ๋‚œ์ด๋„๊ฐ€ ๋Œ€ํญ ์ƒ์Šน

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊นƒ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ? ์ฝ”๋“œ์˜ ๋‚œ์ด๋„๊ฐ€ ๋†’์•„์งˆ์ˆ˜๋ก ๊นƒ์˜ ์‚ฌ์šฉ์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์˜ ๋ณต์žก์„ฑ์„ ๋‚ฎ์ถ”๋Š”๋ฐ ๋„์›€์„ ์ค€๋‹ค

๐Ÿ‘‰GIT init

cd + '์ด๋™ํ•˜๊ณ ์‹ถ์€ ๋””๋ ‰ํ† ๋ฆฌ, ํด๋”' : ํ˜„์žฌ์œ„์น˜๋ฅผ ์˜ฎ๊น€
mkdir + '์ƒ์„ฑํ•˜๊ณ ์‹ถ์€ ํด๋”์ด๋ฆ„' : ์ƒˆ๋กœ์šด ํด๋”๋ฅผ ์ƒ์„ฑ
git init : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ์‹œ์ž‘ํ•จ
ls -al : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ๋ชฉ๋ก์„ ๋ณด์—ฌ์คŒ

๐Ÿ‘‰Git add

vm test.txt : test.txt file์„ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒ์„ฑ
i : vm ์ƒํƒœ์—์„œ ํŽธ์ง‘์ƒํƒœ๋กœ ๋ณ€๊ฒฝ(insert)
:wq : ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋น ์ ธ๋‚˜๊ฐ
git status : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ํŒŒ์ผ๋“ค์ด ๋ฒ„์ „๊ด€๋ฆฌ๊ฐ€ ๋˜๊ณ ์žˆ๋Š”์ง€ ์•ˆ๋˜๊ณ  ์žˆ๋Š”์ง€ ๋ณด์—ฌ์คŒ
git add + "ํŒŒ์ผ๋ช….ํ™•์žฅ์ž" : ์ง€์ •๋œ ํŒŒ์ผ์„ ๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์ž‘

๐Ÿ‘‰Commit

git config --global user.name '์“ฐ๊ณ ์‹ถ์€ ์ด๋ฆ„' : git์˜ ์ด๋ฆ„์„ ๋“ฑ๋ก
git config --global user.email '์“ฐ๊ณ ์‹ถ์€ email๋ช…' : git์‹คํ–‰์ž์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€
git commit : git vm๋ชจ๋“œ ์‹คํ–‰(ํ˜„์žฌ ๋ฒ„์ „์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ ์„์ˆ˜์žˆ์Œ)

  • ์™œ ๋ณ€๊ฒฝ ๋˜์—ˆ๋Š”์ง€? , ์–ด๋–ค ์ ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ์ ์–ด๋†“์„์ˆ˜์žˆ๋‹ค
  • ๋˜‘๊ฐ™์ด i๋ฅผ ๋ˆŒ๋Ÿฌ ์ž…๋ ฅํ• ์ˆ˜์žˆ์Œ

๐Ÿ‘‰Git Process

Local Repository : ๋‚ด์ปดํ“จํ„ฐ์— ์žˆ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์˜คํ”„๋ผ์ธ์œผ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ git init ๋ช…๋ น์–ด๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

Remote Repository : ๊นƒํ—ˆ๋ธŒ์— ์žˆ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ช‡๊ฐœ์˜ ์ปค๋งจ๋“œ๋กœ ํ„ฐ๋ฏธ๋„์—์„œ ํŒŒ์ผ์„ ์ปค๋ฐ‹ ๋ฐ ํ‘ธ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.

touch 'ํŒŒ์ผ๋ช….ํ™•์žฅ์ž' : ๋นˆํŒŒ์ผ์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•œ๋‹ค.

git init : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ GIT์œผ๋กœ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌํ•˜๋Š” ์ƒํƒœ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค

staging : ์ปค๋ฐ‹์ด ๊ฐ€๋Šฅํ•œ ์ƒํƒœ add ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ด ์ƒํƒœ๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

git status : staging ์ƒํƒœ์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด

git add file_name(or .) : staging status๋กœ ๋„˜๊ฒจ์ค€๋‹ค. ํŒŒ์ผ๋ช…์œผ๋กœ ์ง€์ •ํ•ด ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ .์œผ๋กœ ์ „๋ถ€ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค.

git add๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ staging area์— ์ถ”๊ฐ€ ํ•ด์ฃผ์—ˆ๋‹ค๋ฉด ์ด์ œ ์ปค๋ฐ‹์„ ๋‚จ๊ธธ ์ค€๋น„๊ฐ€ ๋œ ๊ฒƒ์ด๋‹ค.

git commit -m "commit message" : ์ปค๋ฐ‹์„ ์ง„ํ–‰ํ•˜๊ณ , ์ปค๋ฐ‹๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ๋‚จ๊ธธ์ˆ˜ ์žˆ๋‹ค.(ex: "time.gmttime()์—์„œ localtime()์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋‹ค")

git log : ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์ปค๋ฐ‹ ๋‚ด์—ญ์„ ๋ณด๊ธฐ

git remote add origin(origin ๋ง๊ณ  ๋‹ค๋ฅธ์ด๋ฆ„๋„ ๊ฐ€๋Šฅ) "์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ"
๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ์—” https://github.com/keywookkim/GITpractice.git
Remote repository์— ์˜ฌ๋ฆฌ๊ธฐ์ „ staging status๋กœ ๋งŒ๋“ ๋‹ค.

git push origin master : Remote repository์— ๋“ฑ๋ก์„ํ•œ๋‹ค.

git branch "์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ด๋ฆ„" : ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ธฐ

profile
์–ด๋ ค์šด ๊ฒƒ์€ ์—†๋‹ค, ๋‹ค๋งŒ ์•„์ง ์ต์ˆ™์น˜์•Š์„๋ฟ์ด๋‹ค.

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