[Git] ์‹œ์ž‘

[์›๋ณธ ๋งํฌ]

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

๋‚˜๋Š” Github๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

๋จผ์ € ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉํ•  ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค.

์ผ๋‹จ์€ ๋น„์›Œ๋†“๊ฒ ๋‹ค.

์ด์ œ ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ๋งˆ๋ จํ•ด๋ณด์ž.
ํด๋”๋ถ€ํ„ฐ ์ ๋‹นํžˆ ์ž˜ ๋งŒ๋“ ๋‹ค.

์ด์ œ Git์„ ์จ์•ผํ•˜์ง€ ์•Š๊ฒ ๋Š”๊ฐ€?

์ € ํด๋” ์œ„์น˜ ์•ˆ์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
์ข€ ํŽธํ•˜๊ฒŒ ๋ณผ์ˆ˜์žˆ๋Š” GUI.
๊ทธ๋ฆฌ๊ณ  Bash๋ผ๋Š” ์ด๋ฆ„์˜ ํ„ฐ๋ฏธ๋„.

์ผ๋‹จ ๊ธฐ๋ณธ์ด ์ค‘์š”ํ•˜๋‹ˆ ํ„ฐ๋ฏธ๋„๋กœ ๋จผ์ € ์—ด์–ด๋ณด์ž.

๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ํ„ฐ๋ฏธ๋„์ด ๋œฌ๋‹ค.

๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผํ•  ๊ฑด ๋‹‰๋„ค์ž„๊ณผ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋Š” ๊ฑฐ๋‹ค.
์•ˆํ•˜๋ฉด commit ๋ชปํ•˜๊ฒŒ ํ•œ๋‹ค.

๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์—” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“œ๋Š” init์ด ์žˆ๊ณ .
๊ธฐ์กด์— ์กด์žฌํ•˜๋˜ ์›๊ฒฉ์ €์žฅ์†Œ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” clone์ด ์žˆ๋‹ค.

init๋ถ€ํ„ฐ ์‚ฌ์šฉํ•ด๋ณด์ž.

์ด๋Ÿฌ๋ฉด .git์ด๋ผ๋Š” ์ด๋ฆ„์˜ ์„ค์ •ํŒŒ์ผ ํด๋”๊ฐ€ ์ƒ๊ธด๋‹ค.

๊ทผ๋ฐ ์ด๋Œ€๋กœ๋Š” ์•„๋ฌด๊ฒƒ๋„ ์—†๊ณ  ๊ณตํ—ˆํ•˜์ง€ ์•Š์€๊ฐ€.
์†Œ์ŠคํŒŒ์ผ์„ ๋ญ˜๋กœ๋“  ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ๋„ฃ์–ด๋ณด์ž.

๋‚˜๋Š” ๋”ฐ๋กœ ๋ญ˜ ์—ด๊ธฐ๊ฐ€ ๊ท€์ฐฎ์•„์„œ Vim์„ ์ผ์ง€๋งŒ, ๋ญ˜ ์จ๋„ ์ƒ๊ด€์—†๋‹ค.

์ด์ œ ์ด๊ฑธ .git์— ๋“ฑ๋กํ•˜๋ฉด ๋œ๋‹ค.
์ปค๋งจ๋“œ๋Š” add ํŒŒ์ผ๋ช…์ด๋‹ค.

์ด๋Ÿฌ๋ฉด ์ถ”๊ฐ€๊ฐ€ ๋˜๊ธด ํ•˜๋Š”๋ฐ.

์‹ค์ œ๋กœ๋Š” ๋ฐ˜์˜์ด ๋œ๊ฒŒ ์•„๋ฌด๊ฒƒ๋„ ์—†๋‹ค.
์ €๋ ‡๊ฒŒ ์ถ”๊ฐ€๋ฅผ ํ•œ ๊ฒƒ๋“ค์€ git commit ์ปค๋งจ๋“œ๋กœ ์ปค๋ฐ‹์„ ํ•ด์ค˜์•ผ ์ œ๋Œ€๋กœ ์ €์žฅ์ด ๋œ๋‹ค,

๊ทธ๋Ÿผ ์•„๊นŒ ์„ค์ •ํ–ˆ๋˜ ์—๋””ํ„ฐ๋กœ ๋ณ€๊ฒฝ๋‚ด์—ญ์ด ๋ณด์ธ๋‹ค.


vscode์˜ ๊ฒฝ์šฐ, ์ €๊ธฐ์„œ new file ์ € ๋ถ€๋ถ„์˜ ์ฃผ์„(#)์„ ์ง€์šฐ๊ณ  ๋‹ซ์œผ๋ฉด ์ปค๋ฐ‹์ด ์ˆ˜ํ–‰๋œ๋‹ค.


๋๋‹ค.



์›๊ฒฉ ์ €์žฅ์†Œ์— ์ €์žฅ

์ด์ œ ์ €๊ฒƒ๋“ค์„ ์ œ๋Œ€๋กœ ์ €์žฅํ•ด์•ผ ํ•˜์ง€ ์•Š๊ฒ ๋Š”๊ฐ€?

2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ.
remote๋ž€ ์›๊ฒฉ์ €์žฅ์†Œ ๊ด€๋ฆฌ์ž๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ €์žฅํ•˜๋Š” ๊ฒƒ๊ณผ,
๊ทธ๋ƒฅ ๋งํฌ๋ฅผ ๋•Œ๋ ค๋ฐ•์•„์„œ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.
๋จผ์ € ๋ฌด์ž‘์ • ์จ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

๊ทธ๋ฆฌ๊ณ  push๋ฅผ ํ•˜๊ธฐ ์ „์— ๋จผ์ € pull์ด๋ž€ ๊ฑธ ํ•ด์•ผํ•œ๋‹ค.
push๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ git์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์›๊ฒฉ์ €์žฅ์†Œ์— ํ†ต์งธ๋กœ ๋ฎ์–ด์“ด๋‹ค!
๋•Œ๋ฌธ์—, ์›๊ฒฉ์ €์žฅ์†Œ์— ๋กœ์ปฌ์— ์—†๋Š” ํŒŒ์ผ์ด ์žˆ๊ณ , git๋„ ๊ทธ๊ฑธ ๋ชจ๋ฅธ๋‹ค๋ฉด ๊ทธ ํŒŒ์ผ์€ push ์‹œ ์ฆ๋ฐœํ•  ์œ„ํ—˜์ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ์œ„ํ—˜ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ push๋Š” ์ €๋Ÿฐ ์ƒํ™ฉ์—์„œ ์—๋Ÿฌ๋ฅผ ๋ฑ‰์ง€๋งŒ.
push -f๋Š” ๊ฐ•์ œ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๊ฑด ์“ฐ์ง€ ์•Š๋Š”๊ฒŒ ์ข‹๋‹ค.

์—ฌํŠผ pull์€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋‚ด์—ญ์„ ๊ฐ€์ ธ์™€์„œ ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ๋™๊ธฐํ™”์‹œํ‚ค๋Š” ๊ฑด๋ฐ.
๋‚˜๋Š” ๊นƒํ—™ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋„ ๊ทธ๋ƒฅ ์†์œผ๋กœ ๋งŒ๋“ค์—ˆ๊ณ , ๋กœ์ปฌ ์ €์žฅ์†Œ๋„ ๊ทธ๋ƒฅ init์œผ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.
์ด ๋‘๊ฐœ์˜ ์ €์žฅ์†Œ๋Š” ์•„๋ฌด ๊ด€๋ จ์ด ์—†๋˜๊ฑฐ์˜€์œผ๋‹ˆ... ์ด๋Ÿฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ๋ž˜์„œ ๊ฐ€๊ธ‰์  pull์„ ๋จผ์ € ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

git pull ๋งํฌ master --allow-unreleated-histories

์ € ๊ธฐ๋‹ค๋ž€ ํ”Œ๋ž˜๊ทธ๋Š” ์ด๋Ÿฐ ์ƒํ™ฉ ๋ง๊ณ ๋Š” ์“ธ์ผ์ด ์—†๋‹ค.

์ด์ œ ์ œ๋Œ€๋กœ ์—…๋กœ๋“œ๋ฅผ ํ•ด๋ณด์ž.

git push ๋งํฌ master
๋งํฌ์—๋Š” ์•„๊นŒ ๋งŒ๋“ค์—ˆ๋˜ Github ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ๋งํฌ๋ฅผ ๋„ฃ๋Š”๋‹ค.
๊ทธ๋ฆฌ๊ณ  master๋Š” ์ง€์ •ํ•  branch๋‹ค.

์ด๋Ÿฌ๋ฉด


๋กœ๊ทธ์ธํ•˜๋ผ๊ณ  ๋œฌ๋‹ค.
๋‹น์—ฐํ•˜๋‹ค.


๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ํ–ˆ๋‹ค๊ณ  ๋œจ๋Š”๋ฐ.

๊นƒํ—™์— ๊ฐ€๋ณด๋ฉด

์‹ค์ œ๋กœ ๋ฐ˜์˜์ด ๋˜์–ด์žˆ๋‹ค.



remote๋ฅผ ํ†ตํ•œ ์›๊ฒฉ์ €์žฅ์†Œ ๊ด€๋ฆฌ

์œ„์—์„œ๋Š” ๋งํฌ๋ฅผ ์ผ์ผ์ด ๋•Œ๋ ค๋ฐ•์•˜์ง€๋งŒ, ์ด๋ฅผ ์œ„ํ•œ ํŽธ์˜๊ธฐ๋Šฅ์ด ์กด์žฌํ•œ๋‹ค.
remote๋‹ค.

remote๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•œ๋‹ค.

git remote add ์ด๋ฆ„ ๋งํฌ

ํ˜น์‹œ ๋งํฌ๋ฅผ ์ž˜๋ชป ์ณค๋‹ค๋ฉด git remote remove ์ด๋ฆ„ ์œผ๋กœ ์ง€์šฐ๊ณ  ๋‹ค์‹œ ๋งŒ๋“ค๊ฑฐ๋‚˜,
**git remote set-url ์ด๋ฆ„ ๋งํฌ **๋กœ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.

์—ฌํŠผ ์ด๋ ‡๊ฒŒ remote๋ฅผ ๋งŒ๋“ค๋ฉด, ๊ท€์ฐฎ๊ฒŒ ๊ณ„์† ๋งํฌ๋ฅผ ์“ธ๊ฒŒ ์•„๋‹ˆ๋ผ remote ์ด๋ฆ„์œผ๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค.

foo.rs๋ž€ ํŒŒ์ผ์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด๋ณด์ž.

๊ทธ๋Ÿผ ์ด์ œ ์ด๋ ‡๊ฒŒ ๊น”๋”ํ•˜๊ฒŒ push ์ปค๋งจ๋“œ๋ฅผ ๋‚ ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

์‹ค์ œ ์ €์žฅ์†Œ์—๋„ ์ž˜ ๋“ค์–ด๊ฐ”๊ณ .


์ฐธ์กฐ
https://tagilog.tistory.com/377
https://gdtbgl93.tistory.com/63