[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