Banner

My Tech Blog (git)

์˜ค๋Š˜์˜ ๋ช…์–ธ
" ์ผํ•˜์ง€ ์•Š๋Š” ์ž๋‚˜ ๋ถ€์ž๋‚˜ ๊ฐ€๋‚œํ•œ ์ž๋‚˜ ๋ชจ๋‘ ์“ธ๋ชจ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋‹ค. "
- ๋ ˆํ”„ ํ†จ์Šคํ† ์ด (์ž‘๊ฐ€, ๋Ÿฌ์‹œ์•„์˜ ๋Œ€๋ฌธํ˜ธ)
โš ๏ธ ๋ฌธ์ œgit push origin main ๋ช…๋ น์–ด๋กœ ์›๊ฒฉ์ €์žฅ์†Œ์— ํ‘ธ์‹œํ•˜๋ฉด java ํด๋ž˜์Šค ํŒŒ์ผ์ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ ๊ธฐ์กด์— ์žˆ๋˜ `/StudyAlgorithm/StudyAlgorithm/src/` ์ดํ•˜ `algo03` ํŒจํ‚ค์ง€์— craneGame.java๋ž‘ decimalTobinary.java ํด๋ž˜์Šค๋“ค์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  git add. ์™€ git commit -m "Study stack" ๊นŒ์ง€ ์ˆ˜ํ–‰ ํ–ˆ์„ ๋•Œ๋Š” ํŒŒ์ผ ๋ชฉ๋ก์— ์œ„ ๋‘ ํด๋ž˜์Šค๊ฐ€ ๊ฐ์ง€๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ git push origin main ๋ช…๋ น์–ด๋กœ ์›๊ฒฉ ์ €์žฅ์†Œ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ‘ธ์‹œํ•˜๊ณ  ๋‚˜์„œ ๊นƒํ—ˆ๋ธŒ์—์„œ ํ™•์ธํ•ด๋ณด๋‹ˆ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•œ ๋‘ ๊ฐœ์˜ ํด๋ž˜์Šค ํŒŒ์ผ์€ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ํ™•์ธ์ด ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ src/ ์ดํ•˜๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์ปค๋ฐ‹ ํ›„ ํ‘ธ์‹œํ•˜์˜€์œผ๋‚˜ nothin..
1. ์†Œ์ŠคํŠธ๋ฆฌ ๋“ค์–ด๊ฐ€์„œ ์ตœ์‹  ์ƒํƒœ์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค๊ธฐ ์ด๋ฆ„์€ ์ถฉ๋Œ ์—ฐ์Šต์šฉ์ด๋‹ˆ๊นŒ conflict๋ผ๊ณ  ํ•ด ์ฃผ์—ˆ๋‹ค.์ด๋ ‡๊ฒŒ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋ฉด checkout์ด ์ž๋™์œผ๋กœ ๋œ๋‹ค. 2. ์ด์ œ conflict์—์„œ ์—๋””ํ„ฐ๋ฅผ ์—ด์–ด์„œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ณ  ์ปค๋ฐ‹ ํ•ด ์คŒ 3. ๋งˆ์Šคํ„ฐ์— ์ฒดํฌ์•„์›ƒ ํ•˜๊ณ  ์—๋””ํ„ฐ๋กœ ๊ธ€ ์ˆ˜์ • ํ›„ ์ปค๋ฐ‹ ์—ฌ๊ธฐ๋ถ€ํ„ฐ๋Š” ํ‹ฐ์Šคํ† ๋ฆฌ๊ฐ€ ์ €์ ˆ๋กœ ๋กœ๊ทธ์•„์›ƒ๋˜๋ฉด์„œ ์Šคํฌ๋ฆฐ์ƒท ํ•œ๊ฒŒ ์‹น ๋‚ ์•„๊ฐ...master ์ฒดํฌ์•„์›ƒํ•œ ์ƒํƒœ์—์„œ conflict ๋ณ‘ํ•ฉํ•˜๋ฉด์ปค๋ฐ‹ํ•˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋‹ค๊ณ  ๋œจ๋ฉด์„œ ์•„๋ž˜์— ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ผ๊ฐ„ ํŒŒ์ผ ์˜์—ญ์—๋Š” ๋Š๋‚Œํ‘œ ์•„์ด์ฝ˜์ด ๋œธ์ถฉ๋Œ์ด ๋‚œ ๊ฒƒ!  1. pull ์ถฉ๋Œํ•ด๊ฒฐ๋ฒ•1-1. ์—๋””ํ„ฐ์—์„œ ํ•ด๊ฒฐ- Shift + delete(๋ผ์ธ์ง€์šฐ๊ธฐ) ์ง์ ‘ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜- ํ•˜๋‹จ์˜ Resolve in Merge Editor ํด๋ฆญ์™ผ์ชฝ..
1. ๋ฌธ์ œ์ดํด๋ฆฝ์Šค ์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ๋‚ด ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋กœ  ํ‘ธ์‰ฌํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ์•„๋ž˜ ๊ฒฝ๊ณ ์ฐฝ์ด ๋œจ๋ฉด์„œ ์•ˆ ๋จCan't connect to any URI:๋‚ด ๊นƒํ—ˆ๋ธŒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์ฃผ์†Œ git: not authorized ์ธ์ฆ๋˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋ผ์„œ ๋‚ด ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด๋‹ค.  2. ์›์ธ๊นƒํ—ˆ๋ธŒ(GitHub)์—์„œ๋Š” ๊ธฐ์กด์˜ ์•„์ด๋””, ํŒจ์Šค์›Œ๋“œ ์ธ์ฆ์„ ์—†์• ๊ณ  ID/Personal Access Token ์œผ๋กœ ์ธ์ฆ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ–ˆ๋‹ค. (2021.08.13) ์ดํด๋ฆฝ์Šค์—์„œ ๊นƒํ—ˆ๋ธŒ ์—ฐ๋™์—๋Š” ์„ฑ๊ณตํ•ด๋„Personal Token์„ ๋“ฑ๋กํ•˜์ง€ ์•Š์œผ๋ฉด ์ €๋ ‡๊ฒŒ ๋จ. ๊นƒํ—ˆ๋ธŒ์—์„œ ํ† ํฐ ๋ฐ›์•„์„œ ๋“ฑ๋ก ํ•ด ์ฃผ์ž 3. ํ•ด๊ฒฐ๋ฒ•3-1. ํ† ํฐ ์ƒ์„ฑํ•˜๊ธฐGitHub ํ™ˆํŽ˜์ด์ง€ ์ ‘์† -> ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ํ”„๋กœํ•„ -> Settings > Developer settin..
๊ทธ๋™์•ˆ ํŒ€ํ”„๋กœ์ ํŠธ ํ–ˆ์„ ๋•Œ ๋‚˜๋Š” ์ฝ”๋“œ๋งŒ ์งœ๊ณ  ๊ทธ๋ƒฅ ๊นƒ ๋ฐฐ์‰ฌ์—์„œ add commit push๋งŒ ํ–ˆ์—ˆ๋‹ค. ์šฐ๋ฆฌํŒ€ ๋„ค ์‚ฌ๋žŒ๊บผ ์ฝ”๋“œ ํ•ฉ์น˜๋Š”๊ฑฐ๋Š” ๋ณ‘ํ›ˆ๋‹˜์ด ํ•ด์ฃผ์…”์„œ ์†Œ์ŠคํŠธ๋ฆฌ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•ด ๋ณธ ์ ์€ ์—†์—ˆ๋‹ค. ์–ด์ œ๋ถ€ํ„ฐ ์†Œ์ŠคํŠธ๋ฆฌ ๊น”์•„์„œ ์จ ๋ณด๋Š”๋ฐ  ์•„์ง ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ์ƒˆ๋กœ ๋ฐฐ์šฐ๋Š”๊ฒŒ ๋งŽ๋‹ค.  ๊ฒ ์—†๋Š” ๋‚˜๋Š” ์–ด์ฐจํ”ผ ์—ฐ์Šตํ• ๊ฑฐ ์ด๊ฒƒ์ €๊ฒƒ ๋ˆŒ๋Ÿฌ๋ดค๋‹ค.๋ณ‘ํ•ฉ๋„ ํ•ด๋ณด๊ณ  ๋ธŒ๋žœ์น˜ ์ฒดํฌ์•„์›ƒ, ๋ฎ์–ด์“ฐ๊ธฐ, ๊ฐ•์ œ๋กœ ์‚ญ์ œ ๋“ฑ ใ…‹ใ…‹ใ…‹ ์ด๊ฒƒ์ €๊ฒƒ ์•„๋ฌด๊ฑฐ๋‚˜ ๋‹ค ๋ˆŒ๋Ÿฌ๋ณด๋‹ค๊ฐ€ ์ž๊พธ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค ใ…‹ใ…‹ใ…‹๊ณ ์žฅ๋‚˜๋ฉด ์ปดํ“จํ„ฐ ๋ฐ€๋ฉด ๋ผ~ ํšŒ์‚ฌ์ปด๋„ ์•„๋‹Œ๋ฐใ…‹ใ…‹ใ…‹ (๋†๋‹ด) Git ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐ๋œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋ฉด ์ˆ˜์ • ํ›„์— ์•„์ง ์Šคํ…Œ์ด์ง•์ด๋‚˜ ์ปค๋ฐ‹ ์•ˆํ–ˆ์„ ๋•Œ ์ฝ”๋“œ ์™ผ์ชฝ์— ์กฐ๊ทธ๋งฃ๊ฒŒ ์„ธ๋กœ์ค„์ด ๋œฌ๋‹ค.  ์ด๊ฑธ Diff Decorations์ด๋ผ๊ณ  ํ•œ๋‹ค. Diff Decorations๋Š” ํŒŒ์ผ..
๋‚˜๋งŒ ์•Œ๊ธฐ์—๋Š” ์•„๊นŒ์šด ์‚ฌ์ดํŠธ `Learn Git Branching` ์€ Git์„ ์“ธ ๋•Œ ํ•„์š”ํ•œ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์žก๋Š” ๊ฒƒ์„ ๋•๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์‚ฌ์ดํŠธ์ด๋‹ค. https://learngitbranching.js.org/?locale=ko Learn Git BranchingAn interactive Git visualization tool to educate and challenge!learngitbranching.js.org ์ฒ˜์Œ ์ ‘์†ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ํŒ์—…์ด ๋œจ๋Š”๋ฐ ESC ๋ˆ„๋ฅด๋ฉด ๋ฐ”๋กœ ๋ฐฐ์‰ฌ์ฐฝ์— ์•„๋ฌด๊ฑฐ๋‚˜ ์—ฐ์Šตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.๋‹จ๊ณ„๋ณ„๋กœ ์—ฐ์Šตํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์€ ์•„๋ž˜ ํŒ์—…์—์„œ ๋ ˆ๋ฒจ์„ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค. ์ฝ˜์†”์— ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด๋„ ๋˜๊ณ ,๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์ง์ ‘ ํด๋ฆญํ•ด๋„ checkout ์ด ๋œ๋‹ค~
์†Œ์ŠคํŠธ๋ฆฌ ๋‹ค์šด ๋ฐ›๊ธฐhttps://www.sourcetreeapp.com/ Sourcetree | Free Git GUI for Mac and WindowsA Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac.www.sourcetreeapp.com Source Tree์—ด๊ณ  ๊ตฌ๊ธ€ ๊ณ„์ • ์—ฐ๋™ํ•ด์„œ ํšŒ์›๊ฐ€์ž…ํ•ด์ฃผ์—ˆ๋‹ค. Source Tree > Clone ํƒญ์— ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ ๋ถ™์—ฌ๋„ฃ๊ธฐSSH๋ง๊ณ  HTTPS ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ๋„ฃ์–ด์•ผํ•œ๋‹ค.1. ํด๋ก (Clone)๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ๋‚ด PC ๋‚ด๋ฌธ์„œ์— ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒํด๋ก ์€ ํ•œ๋ฒˆ๋งŒ ํ•˜๋ฉด ๋˜๊ณ  ์ž‘์—…ํ•œ ํ›„์—๋Š” stage..
๐Ÿ“ŒGIT checkout VS resetโšก checkout์€ head๋ฅผ ๋ฐ”๊พผ๋‹ค.git checkout A : ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋Š” A๋ฒ„์ „์ด๋œ๋‹ค.์‹œ๊ฐ„์—ฌํ–‰์„ ํ•˜๋Š” ๊ฒƒ   git checkout main : ํ—ค๋“œ๋ฅผ ๋ฉ”์ธ์œผ๋กœ ๋ฐ”๊พผ๋‹ค.์›Œํ‚น๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋‹ค์‹œ B์™€ ๊ฐ™์•„์ง„๋‹ค. ์‹œ๊ฐ„์—ฌํ–‰์„ ๋๋‚ธ ๊ฒƒ   โšก reset์€ head์˜ branch๋ฅผ ๋ฐ”๊พผ๋‹ค.git reset A : head๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” branch์ธ main์„ A๋กœ ๋ฐ”๊พผ๋‹ค.B ๋ฒ„์ „์„ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ.  git reset B : main์ด B๋ฅผ ๋‹ค์‹œ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ํ•œ๋‹ค.B ๋ฒ„์ „์„ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ. B๋Š” ๋ณต์›๋œ ๊ฒƒ. ์ด ์ƒํƒœ์—์„œ git checkout B ํ•˜๋ฉด ์ด ์ƒํƒœ์—์„œ ๋‹ค์‹œ git reset A ํ•˜๋ฉด?ํ˜„์žฌ head๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” branch๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— head๊ฐ€ ์ง์ ‘ A๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค..
์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ์ฝ”๋”ฉ ์• ํ”Œ ์˜์ƒ์—์„œ ๋ณด๊ธฐ์ข‹๊ฒŒ ์ž˜ ์š”์•ฝ๋œ ๋ถ€๋ถ„๋งŒ ๊ฐ€์ ธ์™”๋‹ค.๊ณต๋ถ€ํ•˜๋ ค๊ณ  ๋ธ”๋กœ๊ทธ ํ•˜๋Š” ๊ฑด๋ฐ ๋‹ค ์•„๋Š” ๊ฑด ์•ž์œผ๋กœ ์‹œ๊ฐ„ ๋“ค์—ฌ์„œ ํฌ์ŠคํŒ… ํ•˜์ง€๋Š” ์•Š์„ ๊ฒƒ์ด๋‹ค.์ ์  ํฌ์ŠคํŒ…์ด ๊ท€์ฐฎ์•„์ง€๊ณ  ์žˆ๋‹ค. ๋ช…๋ น์–ด๋‚˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋‚˜ ํ™”๋ฉด์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ์Šคํฌ๋ฆฐ์ƒทํ•ด์„œ ๊ณ„์† ๋ณด์—ฌ์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.์ฝ”๋“œ ์›ํ•˜๋Š”๋Œ€๋กœ ๊ณ ์น˜๋Š” ๊ฒƒ๋„ ๋…ธ๊ฐ€๋‹ค + ์‹œ๊ฐ„ ์ˆœ์‚ญ์ธ๋ฐ๊ธฐ๋ก ๊นŒ์ง€ ๋‚จ๊ธฐ๋Š”๊ฑด ์–ผ๋งˆ๋‚˜ ๋ถ€์ง€๋Ÿฐํ•œ ์‚ฌ๋žŒ๋“ค์ธ๊ฐ€MBTI P์ธ ๋‚˜๋กœ์จ๋Š” ์ ์ฐจ ๋ธ”๋กœ๊ทธ์— ๊ธฐ๋ก ๋‚จ๊ธฐ๋Š” ๊ฒƒ๋„ ํž˜๋“ค์–ด์ง€๊ณ  ์žˆ๋‹ค.(๊ทธ๋ƒฅ ํ˜ผ์ž ์•Œ๊ณ  ๋๋‚ด๊ณ  ์‹ถ์€ ์œ ํ˜น์ด) โšกgit diff (์ž˜ ์•ˆ์“ฐ๋Š” ๋ฐฉ์‹)- ์ตœ๊ทผ commit vs ํ˜„์žฌ ํŒŒ์ผ์˜ ์ฐจ์ด์ ์„ ๋ณด์—ฌ์ค€๋‹ค.- `j`, `k`๋กœ ์Šคํฌ๋กค ์กฐ์ž‘, `q` ํ‚ค๋กœ ์ข…๋ฃŒ- ๋‹จ์  : ๋ณด๊ธฐ๊ฐ€ ํž˜๋“ค๋‹ค. โšกgit difftool- Vim ์—..
์ƒ๋‹จ์œผ๋กœ