ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [100DaysOfCode] 13๊ฐ•
    Front-end/100DaysOfCode 2022. 7. 28. 22:29

     

    ๐Ÿ’ก Branch

     

     

    [Git] ๋ธŒ๋žœ์น˜(Branch)์ƒ์„ฑ ๋ฐ ์—…๋กœ๋“œ

    ๋ธŒ๋žœ์น˜๋ž€? ํŠน์ • ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ์ด๋‹ค [๋ธŒ๋žœ์น˜ ์ƒ์„ฑ] git branch ๋ธŒ๋žœ์น˜์ด๋ฆ„ ์˜ˆ์‹œ) git branch develop ์ž…๋ ฅ ํ›„ git log ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด๋ณด๋ฉด HEAD๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋˜ master ๋ธŒ๋žœ์น˜์— develop ๋ธŒ๋žœ์น˜๋„ ๊ฐ™์ด ๊ฐ€๋ฆฌ

    zooozoo.tistory.com

     

     

    ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ๋ณ€๊ฒฝ: git branch -m ๋ณ€๊ฒฝํ•  ์ด๋ฆ„

     

    * git init์„ ํ•˜๋ฉด ์ž๋™์œผ๋กœ master ๋ธŒ๋žœ์น˜๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋Š”๋ฐ ์š”์ฆ˜์€ master ๋Œ€์‹  main์œผ๋กœ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•ด์„œ ์“ฐ๋Š” ์ถ”์„ธ๋ผ๊ณ  ํ•œ๋‹ค 

     

     

     

    ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ๋ฐ ์ด๋™ : git checkout -b feature

     

     

     

    ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  status๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ์•„์ง git์ด ์ถ”์ ๊ณผ ์Šคํ…Œ์ด์ง€๋ฅผ ํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ์ƒํƒœ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    git add์™€ ์ปค๋ฐ‹์„ ํ†ตํ•ด git์ด ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ถ”์  ๋ฐ ์Šคํ…Œ์ด์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.


    ๋ธŒ๋žœ์น˜ ์ถฉ๋Œ

    1. A, B ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๊ฐ€ ์žˆ๋‹ค

    2. A, B ๋ธŒ๋žœ์น˜์—์„œ ๋™์‹œ์— ๊ฐ๊ฐ ํŒŒ์ผ์˜ ๋™์ผํ•œ ๊ณณ์„ ์ˆ˜์ •ํ•˜๊ณ  merge ์‹œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ๋‹ค

     

     

    A๋ธŒ๋žœ์น˜์—์„œ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ณ , B๋ธŒ๋žœ์น˜์—์„œ ๋™์ผํ•œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ๋’ค ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•œ๋‹ค

     

    fatal: No remote for the current branch

     

    merge๋ฅผ ํ•ด์„œ ์ถฉ๋Œ ํ…Œ์ŠคํŠธ ํ•˜๋ ค๋Š”๋ฐ ๋งˆ์ฃผ์นœ ์˜ค๋ฅ˜

    <git merge>๋งŒ ์ž…๋ ฅํ•˜์ง€ ๋ง๊ณ , <git merge merge๋ฅผ ํ•  ๋ธŒ๋žœ์น˜>๊นŒ์ง€ ์ž‘์„ฑํ•ด์ค˜์•ผ ํ•œ๋‹ค

     

    ๋œป ๋ฐ–์˜ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋‚˜๋ฉด ์ง„์งœ ๋ฌธ์ œ์˜ ์—๋Ÿฌ(merge ์ถฉ๋Œ)๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค

     

     

    VScode๊ฐ€ ์ถฉ๋Œ์„ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค

     

    Accept Current Change: HEAD ์ ์šฉ
    Accept Incoming Change: merge์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ ์šฉ
    Accept Both Change: ๋‘˜๋‹ค ์ ์šฉ
    Compare Change: ๋‘ ๊ฐœ ๋น„๊ต

     

    ๋ธŒ๋žœ์น˜&์ปค๋ฐ‹ ์‚ญ์ œ

    delete branch or commit

     

    1. ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด file1.txt, file2.txt, file3.txt๋ฅผ ์ƒ์„ฑํ•œ ๋’ค ๊ฐ๊ฐ ์ปค๋ฐ‹์„ ํ•ด์ค€๋‹ค.

     

    2. ๋””๋ ‰ํ† ๋ฆฌ์—์„œ file3.txt๋ฅผ ๊ทธ๋ƒฅ ์‚ญ์ œํ•œ๋‹ค. 

    (์ด๋Ÿฌํ•œ ์ˆ˜์ •์‚ฌํ•ญ์€ ์Šคํ…Œ์ด์ง• ๋˜์ง€ ์•Š๋Š”๋‹ค Changes not staged for commit)

     

     

    ๐Ÿ’กgit rm ํŒŒ์ผ์ด๋ฆ„

     

    ์ฒ˜์Œ์— ๊ทธ๋ƒฅ ์‹คํ–‰ํ•˜๋ฉด ์‚ญ์ œ๋˜์ง€ ์•Š์Œ

    3. ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•ด์ค€ ๋’ค์— git rm ํ•ด์ฃผ๋ฉด ์ •์ƒ์ ์œผ๋กœ ์‚ญ์ œ๋œ๋‹ค

    (์ด๋Ÿฌํ•œ ์ˆ˜์ •์‚ฌํ•ญ์€ ๋ฐ”๋กœ ์ปค๋ฐ‹๋œ๋‹ค)

     

    4. ์ง์ ‘ ์ปค๋ฐ‹ํ•  ์ˆ˜๋„ ์žˆ๋‹ค


    ์‚ญ์ œํ•œ ํŒŒ์ผ(์ปค๋ฐ‹)์„ ๋˜๋Œ๋ฆฌ๊ณ  ์‹ถ์„ ๋•Œ

    ๐Ÿ’กgit reset --hard HEAD~1

     

    ์ตœ๊ทผ ํŒŒ์ผ์„ ์‚ญ์ œํ•œ ์ปค๋ฐ‹์ด ์‚ญ์ œ๋˜๋ฉด์„œ ์‚ญ์ œ๋๋˜ ํŒŒ์ผ๋„ ๊ฐ™์ด ๋Œ์•„์˜จ๋‹ค


    ๋ธŒ๋žœ์น˜ ์‚ญ์ œ

    ๐Ÿ’กgit branch -D ๋ธŒ๋žœ์น˜์ด๋ฆ„

     

    -D๋Š” ๋ฐ˜๋“œ์‹œ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ!

     

     


    ๋ธŒ๋žœ์น˜๋ฅผ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹ ๋‹จ๊ณ„๋กœ ๋ฆฌ์…‹

    ๐Ÿ’กgit checkout -- .

     

    ๐Ÿ’กgit reset ํŒŒ์ผ์ด๋ฆ„

     

    'Front-end > 100DaysOfCode' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    [100DyasOfCode] 15๊ฐ•  (0) 2022.07.31
    [100DaysOfCode] 14๊ฐ•  (0) 2022.07.29
    [100DaysOfCode] 12๊ฐ•  (0) 2022.07.27
    [100DaysOfCode] 11๊ฐ•(2)  (0) 2022.07.26
    [100DaysOfCode] 11๊ฐ•(1)  (0) 2022.07.25
Designed by Tistory.