Git 101 - yunkon-kim/test-on-github-actions GitHub Wiki

Git Tutorial


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
  • fetch

    $ git fetch

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

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

    • ๋กœ์ปฌ์—์„œ ์ €์žฅ์†Œ๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•
      • git init - ํŠน์ • ํด๋”๋ฅผ ์ €์žฅ์†Œ๋กœ ํ™œ์šฉ
      • git clone - ํŠน์ • ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œ

โš ๏ธ **GitHub.com Fallback** โš ๏ธ