์ดˆ๋ณด์ž๐ŸŒฑ Git ๋ช…๋ น์–ด

4823 ๋‹จ์–ด gitbeginners
์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ‘‹๐Ÿป
Git Journey๋ฅผ ๋ง‰ ์‹œ์ž‘ํ•˜๊ณ  ๐Ÿ˜• Git ๋ช…๋ น์ด ํ˜ผ๋ž€์Šค๋Ÿฝ๋‹ค๋ฉด, ์ด๊ฒƒ์€ ๋‹น์‹ ์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค โ˜บ๏ธ!

Git Bash ํ™˜๊ฒฝ ์„ค์ •



Git Bash๋ฅผ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ์ปดํ“จํ„ฐ์—์„œ git์„ ์‚ฌ์šฉํ•ด ๋ณธ ์ ์ด ์—†๋‹ค๋ฉด ๐Ÿ’ป ๋‹ค์Œ ๋‹จ๊ณ„์— ๋”ฐ๋ผ ์‹œ์ž‘ํ•˜์„ธ์š”.

1. ๊ธฐ๊ธฐ์šฉ Git Bash ๋‹ค์šด๋กœ๋“œ ๐Ÿ’ปGit Bash

2. Windows ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ ๐Ÿ–ฑ๏ธ์„ ํด๋ฆญํ•˜์—ฌ Git Bash๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋ฆ„๐Ÿ“›๊ณผ ์ด๋ฉ”์ผ๐Ÿ“ง ID๋ฅผ ์„ค์ •ํ•˜์„ธ์š”.

$ git config --global user.name "<Your_Name>"

$ git config --global user.email "<Your_Email>"

3. GitHub๋กœ ์ด๋™ํ•˜์—ฌ ์ด๋ฉ”์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ GitHub ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๋™์ผํ•œ ์ด๋ฉ”์ผ๐Ÿ“ง์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด์ „์— ์‚ฌ์šฉํ•œ ์ ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ด ๊ฒฝ์šฐ ๋” ๋‚˜์•„๊ฐ€๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.



1๏ธโƒฃ๋จผ์ €

4. ์›ํ•˜๋Š” ํด๋”๐Ÿ“๋กœ ์ด๋™ํ•˜์—ฌ ๋ชจ๋“  GitHub ์ €์žฅ์†Œ๐Ÿ˜ณ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. URL์„ ํ†ตํ•ด

         git clone URL

์ฝ”๋“œ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์˜จ๋ผ์ธ GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ URL์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ €์žฅ์†Œ์˜ ๋ฒ„ํŠผ ๐ŸŒ›.

2๏ธโƒฃ๋‘๋ฒˆ์งธ

4.GitHub ์ €์žฅ์†Œ๐Ÿ˜ณ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ํด๋”๐Ÿ“๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ git repo๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

        git init

์„ค์ •์ด ์ „๋ถ€์ž…๋‹ˆ๋‹ค. ์ด์ œ ์ฝ”๋“œ๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.


๐ŸŽ‰๐ŸŽ‰๋ช…๋ น์–ด๐ŸŽ‰๐ŸŽ‰




1 :



์•„๋ž˜์— ์ˆ˜์ •๋œ ํŒŒ์ผ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

           git add myFile

myFile ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ค€๋น„ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ.

           git add .    Or    git add -A

๋ชจ๋“  ์ˆ˜์ •๋œ ํŒŒ์ผ์„ ์ค€๋น„ํ•˜๊ณ  ์‹ถ์„ ๋•Œ.

2:



์•„๋ž˜์—์„œ ํŒŒ์ผ์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

           git reset myFile

์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ํŒŒ์ผ ์–ธ์Šคํ…Œ์ด์ง•

์•„๋ž˜์—๋Š” ์ž‘์„ฑ์ž ๋ฐ ์ด๋ฉ”์ผ๊ณผ ๊ฐ™์€ ๋ชจ๋“  ์„ธ๋ถ€ ์ •๋ณด์™€ ํ•จ๊ป˜ ๋ชจ๋“  ์ปค๋ฐ‹์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

            git log

์•„๋ž˜๋Š” ์ปดํŒฉํŠธํ•œ ๋ฐฉ์‹์œผ๋กœ ์ปค๋ฐ‹์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค!, ์ปค๋ฐ‹ ํ•ด์‹œ์™€ ๋ฉ”์‹œ์ง€๋งŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

            git log --oneline

์‚ผ :



           git revert <commit hash>

์ปค๋ฐ‹์„ ๋กค๋ฐฑํ•˜๋ ค๋ฉด ์œ„ ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜์—ฌ ๋ชจ๋“  ์ปค๋ฐ‹์˜ ์ปค๋ฐ‹ ํ•ด์‹œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. git log

4:



์•„๋ž˜์— ํ˜„์žฌ ์ƒํƒœ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

             git status

์Šคํ…Œ์ด์ง• ๋˜๋Š” ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

 On branch master
   Changes not staged for commit:
   (use "git add <file>..." to update what will be committed)
   (use "git restore <file>..." to discard changes in working directory)
    modified:   abcd.md

   no changes added to commit (use "git add" and/or "git commit -a")

ํŒŒ์ผ์„ ์ค€๋น„ํ•œ ๊ฒฝ์šฐ. ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ ์ปค๋ฐ‹์„ ์œ„ํ•ด ์ค€๋น„๋œ ์ˆ˜์ •๋œ ํŒŒ์ผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 On branch master
  Changes to be committed:
   (use "git restore --staged <file>..." to unstage)
    modified:   abcd.md

5:



            git push origin <branch>

์ตœ์ข… ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํŠน์ • ๋ธŒ๋žœ์น˜์˜ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ํ‘ธ์‹œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.

           git push origin master

6:



            git pull

ํ˜„์žฌ ๋กœ์ปฌ ๋ธŒ๋žœ์น˜์˜ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์˜ค๋ ค๋Š” ๊ฒฝ์šฐ.

7:



์ง€์ ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ

           git branch branch1

ํ˜„์žฌ ์ปค๋ฐ‹์—์„œ ์ƒˆ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ branch1 ์ƒ์„ฑ

๋ชจ๋“  ์ง€์ ์„ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ

           git branch

๊ทธ๊ฒƒ์€ ๋‹น์‹ ์˜ ์ง€์ ์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ˜„์žฌ ํ™œ์„ฑ ๋ถ„๊ธฐ ์˜†์— *๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

       PS D:\winter plan> git branch
       * branch1
         master
         one

์ง€์ ์„ ์ „ํ™˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ

           git checkout branch1

๋‹ค๋ฅธ branch1๋กœ ์ „ํ™˜ํ•˜๊ณ  ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋กœ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

8:



๋ถ„๊ธฐ๋ฅผ ๋‹ค๋ฅธ ๋ถ„๊ธฐ ๋˜๋Š” ๊ธฐ๋ณธ์œผ๋กœ ๋ณ‘ํ•ฉ

        git merge branch1

branch1 ๊ธฐ๋ก์„ ํ˜„์žฌ ๊ธฐ๋ก์œผ๋กœ ๋ณ‘ํ•ฉ

๋ถ„๊ธฐ๋ฅผ ์ „ํ™˜ํ•˜๋ ค๋ฉด ์ˆ˜์ •๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•˜๊ฑฐ๋‚˜ ์ž„์‹œ๋กœ ์ˆ˜์ • ๋ฐ ์ถ”์ ๋œ ํŒŒ์ผ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

          git stash

์œ„์˜ ๋ช…๋ น์€ ์ˆ˜์ •๋˜๊ณ  ์ค€๋น„๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅํ•˜๊ณ  ์•„๋ž˜ ๋ช…๋ น์€ ์ˆจ๊น€ ์Šคํƒ์˜ ์ƒ๋‹จ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

          git stash drop

ํ–‰๋ณตํ•œ ๊ธฐํŒ… ๐Ÿ’ฅ๐Ÿ’ฅ

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ