๐Ÿ‘€ ๋ˆ„๊ตฌใ„ดr ใˆๅ รธใ…• ใ„ฑr๋Šฅใ…Žล ๋ชจ๊ฐ์ฝ” ใ‚“ฤฑ์ฆŒ โ‘ 

ํ™์ •์™„ยท2022๋…„ 11์›” 22์ผ
0

Git

๋ชฉ๋ก ๋ณด๊ธฐ
20/20
post-thumbnail

ํ•™๋ถ€๋ฅผ ์กธ์—…ํ•˜๊ธฐ ์ „ ๋งˆ์ง€๋ง‰ ์ถ”์–ต์œผ๋กœ ๋™์•„๋ฆฌ ์นœ๊ตฌ๋“ค๊ณผ ๋ชจ๊ฐ์ฝ”๋ฅผ ์ง„ํ–‰ํ•˜๋ ค ํ•œ๋‹ค.
๋ณธ๋ž˜ ์กธ์—… ๊ธฐ๋… ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ๋‚˜ ํ•ด์ปคํ†ค ์ฐธ์—ฌ๋ฅผ ๋ชฉํ‘œ๋กœ ํ–ˆ์ง€๋งŒ, ์ทจ์—… ์ผ์ •์ด ์›Œ๋‚™ ํƒ€์ดํŠธํ•ด์„œ ๋ชจ๊ฐ์ฝ”๋กœ ๋Œ€์ฒดํ•˜๋ ค ํ•œ๋‹ค.



๐Ÿ‘€ ๋ˆ„๊ตฌใ„ดr ใˆๅ รธใ…• ใ„ฑr๋Šฅใ…Žล ๋ชจ๊ฐ์ฝ”

ํ•ด๋‹น README ํŒŒ์ผ์— ์ฐธ์—ฌ ๋ฐฉ๋ฒ•์ด ์ ํ˜€์žˆ์ง€๋งŒ, Github๊ฐ€ ์–ด์ƒ‰ํ•œ ์นœ๊ตฌ๋“ค์„ ์œ„ํ•ด ์ฐธ์—ฌ ๋ฐฉ๋ฒ•์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์†Œ๊ฐœํ•˜๋ ค ํ•œ๋‹ค.


Git bash๋กœ Github์— ํด๋” ๐Ÿ“ ์—…๋กœ๋“œํ•˜๊ธฐ

Git ๊ณต์‹ ๋ฌธ์„œ


โœ… ์ค€๋น„๋ฌผ

  • ์šฐ์„  ํšŒ์› ๊ฐ€์ž…์„ ํ•˜์ž.
  • ํšŒ์› ๊ฐ€์ž… ํ›„ HongJungWan/challenge-codingtest Repository๋ฅผ ์ฐพ์ž.
  • ์œˆ๋„์šฐ, git bash ํ•ด๋‹น ๋งํฌ๋ฅผ ํด๋ฆญํ•œ ํ›„ git-bash๋ฅผ ์„ค์น˜ํ•˜์ž.
  • MAC, ํ„ฐ๋ฏธ๋„์—์„œ config ์„ค์ •์œผ๋กœ git์— username๊ณผ email๋ฅผ ๋“ฑ๋กํ•˜์ž.



Git vs Github


Git

  • ์˜คํ”ˆ ์†Œ์Šค ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(VCS: Version Control System)
  • ๋กœ์ปฌ์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ

git์€ ๋ณธ์ธ์˜ ์ฝ”๋“œ์™€ ๊ทธ ์ˆ˜์ • ๋‚ด์—ญ์„ ๊ธฐ๋กํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋„๋ก ๋•๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.


Github

  • Git Repository๋ฅผ ์œ„ํ•œ ์›น ๊ธฐ๋ฐ˜ ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค
  • ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋กœ์ปฌ์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌํ•œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ ๊ณต์œ  ๊ฐ€๋Šฅ

github๋Š” git ์ €์žฅ์†Œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค๋‹ค.



Fork


ํ•ด๋‹น Repository์— ์ ‘์†ํ•ด์„œ ์šฐ์ธก ์ƒ๋‹จ์˜ Fork ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์ž.



๊ทธ๋Ÿฌ๋ฉด ์œ„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ๋ณธ์ธ Repository์— ํ•ด๋‹น Repository๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.



Forkํ•œ Repository์— ๋ณธ์ธ ํด๋”์™€ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” clone ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด Github ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ์ปฌ์— ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค.


์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ง๊ด€์ ์œผ๋กœ ์‚ดํŽด๋ณด์ž.

์ƒˆ ํด๋”๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์ž.



์›๋ณธ Repository์—์„œ ํ•ด๋‹น ๋งํฌ๋ฅผ ๋ณต์‚ฌํ•œ ๋’ค, git-bash๋ฅผ ์‹คํ–‰์‹œ์ผœ clone ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜์ž.



git-bash ์‹คํ–‰git clone ๋ช…๋ น์–ด ์ˆ˜ํ–‰



git clone ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋’ค, ํ•ด๋‹น ํด๋”์— ๋‹ค์‹œ ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด challenge-codingtest ํด๋”๊ฐ€ ์žˆ์„ ๊ฒƒ์ด๋‹ค.



ํ•ด๋‹น ํด๋”๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ .git ํด๋”๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด clone ๋ช…๋ น์ด ์ž˜ ์ˆ˜ํ–‰๋œ ๊ฒƒ์ด๋‹ค.

README ๊ทœ์น™์— ๋งž๋Š” ํด๋”์™€ ์ฝ”๋“œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ ๋’ค, challenge-codingtest ํด๋”์—์„œ git-bash๋ฅผ ์‹คํ–‰์‹œํ‚ค์ž.



๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ๋”ฐ๋ผ์นœ๋‹ค.

git status

git add .

git commit -m "์ปค๋ฐ‹ ์–‘์‹ ์ฐธ๊ณ  ๋ฐ”๋ž€๋‹ค."

git push origin main


์œ„ ๊ณผ์ •์„ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ–ˆ๋‹ค๋ฉด ๋ณธ์ธ Repository์— ์ •์ƒ์ ์œผ๋กœ ํŒŒ์ผ๊ณผ ํด๋”๊ฐ€ ์—…๋กœ๋“œ๋˜์—ˆ์„ ๊ฒƒ์ด๋‹ค.



๊ทธ๋Ÿผ ๋งˆ์ง€๋ง‰์œผ๋กœ Pull Requests๋ฅผ ํ•ด๋ณด์ž.

Pull Requests ์˜๋ฏธ

  • ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋‹ˆ ๊ฒ€ํ†  ํ›„ ๋ณ‘ํ•ฉํ•ด ์ฃผ์„ธ์š”.



PR(Pull Request) ๋งŒ๋“ค๊ธฐ


Forkํ•œ Repository ์ขŒ์ธก ์ƒ๋‹จ์˜ Pull Request๋ฅผ ๋ˆ„๋ฅด์ž.



New pull request ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ ํ›„ Create pull request ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์ž.

๋งˆ์ง€๋ง‰์œผ๋กœ PR ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜๊ณ  Create pull request ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ •์ƒ์ ์œผ๋กœ PR์ด ์ˆ˜ํ–‰๋œ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ PR ๊ทœ์น™ ๋˜ํ•œ README ํŒŒ์ผ์„ ์ฐธ๊ณ ํ•˜์ž.



์—…๋ฐ์ดํŠธ๋œ ์›๋ณธ Repository๋ฅผ Fork repository์— ๋˜‘๊ฐ™์ด ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด,

Fork Repository์˜ Fetch upstream ํด๋ฆญ -> Fetch and merge๋ฅผ ํด๋ฆญํ•ด ์ฃผ์ž.

profile
์Šต๊ด€์ด ์ „๋ถ€๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€