Git Basics

Git ์ด๋ž€?

: ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (DVCS)

Centralized version control diagram

Git ์ฃผ์š” ๋ช…๋ น์–ด

1. Git ์ €์žฅ์†Œ ์ƒ์„ฑ - git init

git init

2. Git ๋ฒ„์ „ ๊ด€๋ฆฌ - git status

  • git์˜ ํ˜„์žฌ ์ƒํƒœ๊ฐ€ ์–ด๋–ค์ง€ ์ง€์†์ ์œผ๋กœ ํ™•์ธํ•ด์•ผํ•จ!

  • ๊ฐ€์žฅ ์ค‘์š”ํ•œ git ๋ช…๋ น์–ด!

$ git status
On branch master

# commit ์ด ์•„์ง ์—†๋‹ค (๋ฒ„์ „ ์ด๋ ฅ์ด ์—†๋‹ค)
No commits yet

# commit ๋  ๋ณ€๊ฒฝ ์‚ฌํ•ญ
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

$ git add .
$ git status
On branch master

No commits yet

# ์ปค๋ฐ‹ ๋  ๋ณ€๊ฒฝ ์‚ฌํ•ญ
Changes to be committed:
 # unstageํ•˜๋ ค๋ฉด ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ..
  (use "git rm --cached <file>..." to unstage)
        # ์ƒˆ๋กœ์šด ํŒŒ์ผ a.txt ์ž…๋‹ˆ๋‹ค.
        new file:   a.txt

$ git commit -m 'Init'
[master (root-commit) ebd83a4] Init
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a.txt
 
$ git status
On branch master
# ์ปค๋ฐ‹ํ•  ๊ฒƒ ์—†๊ณ , ์ž‘์—… ๊ณต๊ฐ„๋„ ๊นจ-๋—.
nothing to commit, working tree clean

$ git log --oneline
ebd83a4 (HEAD -> master) Init

+

์›๊ฒฉ ์ €์žฅ์†Œ

  • ์›๊ฒฉ ์ €์žฅ์†Œ ๋“ฑ๋ก

    • git์•„, ์›๊ฒฉ์ €์žฅ์†Œ์—(remote) ์ถ”๊ฐ€ํ•ด์ค˜(add) origin์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ url์„

    git remote add origin {url}
    git remote -v
  • push

    git push origin master
  • pull

    git pull origin master

์›๊ฒฉ ์ €์žฅ์†Œ ๋ณต์ œ

git clone {url}
  • clone ๋ช…๋ น์–ด๋Š” pull์˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ init์˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ

    • ๋กœ์ปฌ์—์„œ ์ €์žฅ์†Œ๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•

      • git init - ํŠน์ • ํด๋”๋ฅผ ์ €์žฅ์†Œ๋กœ ํ™œ์šฉ

      • git clone - ํŠน์ • ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œ

git

Last updated

Was this helpful?