ํด๋ ๋ฐ ํ์ผ๋ก ์ฝ๋์์ฑ์ ๋ค ํ ๋ค, ์๊ฒฉ์ ์ฅ์์ ์ ์ฅํ๋ ค๊ณ ํ๋ค.
๊นํ๋ธ ๋ ํฌ์งํ ๋ฆฌ์์ ์ด๋ก์ New ๋ฒํผ์ ๋๋ฌ์ commit-test ๋ผ๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ณด๊ฒ ๋ค.
3๊ฐ์ ์ฒดํฌ ๋ฐ์ค ์ค ์ฒซ ๋ฒ์งธ ๋ฐ์ค๋ฅผ ์ ํํ๊ณ Create ํ๋ฉด
์ด ๋ ํฌ์งํ ๋ฆฌ์์ main ์ด ๋ํดํธ ๋ธ๋์น๋ก ์ค์ ๋ ๊ฒ์ด๊ณ ๋์ค์ ์ค์ ์ ๋ค์ด๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค๊ณ ๋์จ๋ค.
๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด ์ด๋ ๊ฒ ๋์ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
README.md ํ์ผ์ ๋ง๋ค๊ณ ์ถ์ง ์๋ค๋ฉด ์ฒดํฌ๋ฅผ ํ์ง ์๊ณ ์์ฑํ๋ฉด ๋๋ค.
(๊ทธ๋ฌ๋ฉด ๋์ค์ ์ปค๋ฐ ํธ์ฌ ํ ํ ๋ค์๊ณผ ๊ฐ์ ์๋ฆผ์ด ๋์จ๋ค)
์ผ๋จ ๋๋ README.md ํ์ผ์ ์์ฑํ ๋ฐฉํฅ์ผ๋ก ์๊ฒฉ์ ์ฅ์๋ฅผ ์ฌ์ฉํด๋ณด๊ฒ ๋ค.
๋ด๊ฐ ์ฌ์ฉํ๋ ์๋ํฐ๋ VSC(Visual Studio Code)์ด๋ค.
test ํด๋๋ฅผ ๋ง๋ค๊ณ vsc์ ๋ค์ด๊ฐ์ ํด๋น ํด๋๋ฅผ ์ฐ๋ค (๋งฅ : command+O / ์ : control+O )
test.txt ํ์ผ์ ๋ง๋ค๊ณ ํฐ๋ฏธ๋์ ์ด์ด์ค๋ค
์ด test.txt ๋ฅผ ๋ฐฉ๊ธ ๋ง๋ commit-test ๋ ํฌ์งํ ๋ฆฌ(์๊ฒฉ์ ์ฅ์)์ ์ฌ๋ ค์ค ๊ฒ์ด๋ค.
https://kkangsg.tistory.com/82
[6/24 ์๋ฆฌ์คํธ๋ ์ด๋ก ๊ฐ์1]CLI&GIT-์ด๊ณ ์์ฝ์น๋
๋ฐํํ๋ฉด์ workํด๋๋ฅผ ๋ง๋ค๊ณ vsc๋ก ๋ค์ด์จ๋ค shell์ด bash๊ฐ ๋๋๋ก ํ๋ค. (๋ค๋ฅธ shell๋ค๋ ์์ง๋ง, ๋ช ๋ น์ด๊ฐ ๋ฌ๋ผ์ bash๋ก ํต์ผ / ์ด์์ฒด์ ์ ๋ฐ๋ผ ์ด๊ธฐ shell์ด ๋ค๋ฅผ ์ ์์) nanoํ์ผํธ์ง๊ธฐ๋ฅผ ์ด์ฉํด
kkangsg.tistory.com
$ git init
$ git add [๋๋ ํ ๋ฆฌ๋ช
]
$ git commit -m "commit message"
๋ค์๊ณผ ๊ฐ์ด ํ๋ฉด ๋ก์ปฌ ๊น ์ ์ฅ์์ test.txt ๊ฐ ์ฌ๋ผ๊ฐ์ ๊ฒ ์ด๋ค.
์ด์ ์๊ฒฉ์ ์ฅ์์ ์ฐ๊ฒฐํด์ฃผ์!!! ๐งโ๏ธ
ํน์๋ผ๋ ๋ค๋ฅธ ์๊ฒฉ์ ์ฅ์์ ์ฐ๊ฒฐ๋์ด์๋์ง ํ์ธํด๋ณด์
//์ฐ๊ฒฐ๋ ์๊ฒฉ์ ์ฅ์ ์๋์ง ํ์ธ
$ git remote -v
์๋ฌด๊ฒ๋ ์ ๋์ค๋ฉด ์ฐ๊ฒฐ๋ ์๊ฒฉ์ ์ฅ์๊ฐ ์๋ค๋ ๊ฒ์ด๊ณ
์์ ๊ฐ์ด ๋์ค๋ฉด ์ด๋ฏธ ์ฐ๊ฒฐ๋ ์๊ฒฉ์ ์ฅ์๊ฐ ์๋ค๋ ๋ป์ด๋ค
์ด ๊ฒฝ์ฐ์๋ ์๊ฒฉ์ ์ฅ์๋ฅผ ์ญ์ ํ๋ฉด ๋๋ค,,!!
(๋๋ ์ฒ์์ ์ด๊ฑธ ๋ชฐ๋ผ์ ๊นํ ๋ ํฌ์งํ ๋ฆฌ๋ ์ง์ฐ๊ณ ํ์ผ ๋ฐฑ์ ํด๋๊ณ ํด๋ ์ง์ฐ๊ณ git init๋ถํฐ ๋ค์ ํ๋ ๊ธฐ์ต์ด,,,ใธในใน)
//์ด๋ฏธ ์กด์ฌํ๋ ์๊ฒฉ์ ์ฅ์ ์ญ์
$ git remote rm origin
๊ธฐ์กด์ ์๊ฒฉ์ ์ฅ์ ์ญ์ ํ ๋ค์, ๋ด๊ฐ ์ํ๋ ์๊ฒฉ์ ์ฅ์์ ์ฐ๊ฒฐํด๋ณด์
//์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐ
$ git remote add origin [๊นํ ๋ ํฌ์งํ ๋ฆฌ ์ฃผ์]
์์์ ์์ฑํ ๋ ํฌ์งํ ๋ฆฌ์ ๋ค์ด๊ฐ์ ์ด๋ก์ code๋ฅผ ํด๋ฆญํ๋ฉด ์๋์ HTTPS๋ก ๋์ค๋ ์ฃผ์๊ฐ ์๋ค (SSH๋์ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ฃผ์)
(์ ์ฒด์ ํํด์ ๋ณต์ฌํด๋ ๋์ง๋ง) ์์ ํ์ผ๋ชจ์์ ํด๋ฆญํ๋ฉด ์๋์ผ๋ก ์๊ฒฉ์ ์ฅ์ ์ฃผ์ ์ ์ฒด๊ฐ ๋ณต์ฌ๋๋ค.
์ฐ๊ฒฐ์ด ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ฌ๊ธฐ์๋ถํด ์ํ์ฐฉ์ค๋ผ์ ๋ณด๊ธฐ๋ง ํ๊ธฐ!!!
์ด์ ๋ก์ปฌ ๊น ์ ์ฅ์ .git ์ ์ปค๋ฐ๋์ด ์๋ ์ฐ๋ฆฌ์ test.txt ํ์ผ์ ์๊ฒฉ์ ์ฅ์ ์ push ํ๊ธฐ ์ํด ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
//์๊ฒฉ์ ์ฅ์์ push
$ git push -u origin master
(์ด ๋ช ๋ น์ด๋ ๋ฐฉ๊ธ ์ฐ๊ฒฐํ ์๊ฒฉ์ ์ฅ์์ ๋ธ๋์น ์ค ์ด๋ฆ์ด master์ธ ๋ธ๋์น์ push ํด๋ฌ๋ผ๋ ์๋ฏธ)
ํ์ง๋ง ์ด๋ ๊ฒ ํ๋ฉด ๊นํ ๋ ํฌ์งํ ๋ฆฌ์ ๊ฐ์ ๋
์๋ ํ๋๋ฐ์ ์์๋ ๋ธ๋์น๊ฐ 2๊ฐ๊ฐ ๋ ๊ฒ์ ๋ณผ ์ ์๊ณ
๋ ํฌ์งํ ๋ฆฌ์ ๋ํดํธ ๋ธ๋์น๋ main ๋ธ๋์น์ด์ง๋ง ๋๋ master ๋ธ๋์น์ ํธ์ฌํ๊ธฐ ๋๋ฌธ์
ํธ์ฌํ ํ์ผ์ ๋ณด๊ณ ์ถ์ผ๋ฉด main๋ธ๋์น๋ฅผ master๋ธ๋์น๋ก ๋ฐ๊ฟ์ค์ผํ๊ณ ,
๊ธ ์์์ ์์ฑํ๊ฒ ๋ค๊ณ ์ฒดํฌํ README ํ์ผ๋ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. (๋ฆฌ๋๋ฏธํ์ผ์ ๋ฉ์ธ๋ธ๋์น์ ์์ฑ๋๊ธฐ ๋๋ฌธ)
์์๋ณด๋ Github์์ ์ฒ์ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ์ด๋ฆ์ ๋ถ์ผ ๋ master branch ๋ผ๊ณ ํ๋ค. ์ฆ ๋ํดํธ ๋ธ๋์น๊ฐ ๋ง์คํฐ ์์ง๋ง,
์ด๋์ master๊ฐ master-slave ์์์ master์ด๊ธฐ ๋๋ฌธ์, Black lives matter ์ด๋์ ์ฐ์ฅ์ผ๋ก
๋ฏธ๊ตญ IT์ ๊ณ์์๋ ๋ ผ๋์ด ๋ง์ master-slave, blacklist-whitelist ์ ๊ฐ์ ์ธ์ด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ ์์ง์์ด ์๋ค.
๊ทธ๋ฐ ์๋ฏธ๋ก GitHub ์์๋ 2020๋ 10์์ ๊ธฐ์ค์ผ๋ก ์ ๊ท ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑ์ ๋ํดํธ ๋ธ๋์น ๋ช ์ด main์ผ๋ก ์์ฑ๋๋ค.
๊ทธ๋์ ๋๋ master branch ๊ฐ ์๋๋ผ main branch ์ push ํ๊ณ ์ถ์ด์
์๊ฒฉ์ ์ฅ์๋ฅผ ์ฐ๊ฒฐํด์ค ๋ค์, master ๋์ main์ ์์ฑํ๋๋ฐ
$ git push -u origin main
์๋ฌ๊ฐ ๋์๋ค....
๐ ๋ ๐ ์ฉ ๐ ์ด๋กํ์ง...
์ฐพ์๋ณด๋๊น
๋๋ vsc์๋ํฐ ์์์ terminal์ ์ด์ด์ ์ฌ์ฉํ๋๋ฐ vsc์์๋ ์๋์ ๊ฐ์ด
master branch ๊ฐ ๋ํดํธ ๊ฐ์ด์ด์ ๊ทธ๋ฌ๋ ๊ฒ์ด๋ค.
๋ด๊ฐ ํ์ฌ ์๋ ๋ธ๋์น ๋ช ์ ํ์ธํ๋ ๋ช ๋ น์ด๋
$ git branch
์ด๋ค.
ํ์ธํด๋ณด๋ฉด master๋ธ๋์น ์ธ ๊ฒ์ผ๋ก ๋์จ๋ค
master ๋ธ๋์น์์ ์๋ฌด๋ฆฌ main ๋ธ๋์น๋ก ํธ์ฌํด์ฃผ์ธ์!! ๋ผ๊ณ ์ ๋ ฅํด๋
$ git push -u origin main
main๊ณผ ๋งค์นญ๋์ง ์๋๋ค๋ ์๋ฌ๊ฐ ๋์ค๋ ๊ฒ์ ๋น์ฐํ๋ค.
๊ทธ๋ผ ์ฐ๋ฆฌ๋ branch ๋ช ์ ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค!!๐ฅ
์ฌ๊ธฐ์๋ถํฐ๋ ๋ฐ๋ผํด๋ ๋ฉ๋๋ค!!
$ git branch -M [๋๊ณ ์ถ์ branch name]
$ git branch -m [ํ์ฌ branch name] [๋ฐ๊พธ๊ณ ์ถ์ branch name]
์์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ๋ธ๋์น ๋ช master ์์ main ์ผ๋ก ๋ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
( ์ด๋ ์ฃผ์!!
๋ธ๋์น๋ฅผ ์ ํํ๋ ๊ฒ๊ณผ ๋ธ๋์น ๋ช ์ ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ ๋ค๋ฅด๋ค.
๋ธ๋์น๋ฅผ ์ ํํ๋ ๊ฒ์ ์ฌ๋ฌ ๋ธ๋์น๊ฐ ์์ ๋ $ git branch checkout [์ ํํ๊ณ ์ถ์ ๋ธ๋์น๋ช ] ์ผ๋ก ์ ๋ ฅํ๋ค. )
๋ธ๋์น ์ ํ์ ํ ๋ค์์
$ git remote add origin [์๊ฒฉ์ ์ฅ์ ์ฃผ์]
์๊ฒฉ์ ์ฅ์ ์ฐ๊ฒฐ์ ํด์ค๋ ๋๋ค.
๋ธ๋์น ์ ํ๊ณผ ์๊ฒฉ์ ์ฅ์ ์ฐ๊ฒฐ์ ์์๋ ์๊ด์๋ค!
์ด์ ์๊น ์ ๋ ฅํ๋ push ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด
$ git push -u origin main
๋ก์ปฌ ๊น ์ ์ฅ์ -> ์๊ฒฉ์ ์ฅ์ ๋ก ์ค๋ฌด์คํ๊ฒ ์ด๋ํ ๊ฑฐ๋ผ ์๊ฐํ์ง๋ง,,! ๋ ์๋ฌ ๋ฐ์,,,๐คฆโ๏ธ
์ด์ ๋ ์ฐ๋ฆฌ๊ฐ ์ฒ์ ๊นํ๋ธ์์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ ๋ README.md ํ์ผ์ ์์ฑํ๊ธฐ ๋๋ฌธ์
์ด ํ์ผ์ ๋จผ์ pull ๋ก ๋ก์ปฌ์ ๊ฐ์ ธ์ค๊ณ (ํํธ์ ๋์์๋ ๊ฒ ์ฒ๋ผ)
๊ทธ ์ดํ์ test.txt(๋ด๊ฐ ์ฌ๋ฆฌ๊ณ ์ถ์ ํ์ผ)์ push ํด์ผํ๋ ๊ฒ์ด๋ค.
(๋ง์ฝ, README.md ํ์ผ์ ์์ฑํ๋ ์ฒดํฌ๋ฐ์ค๋ฅผ ํด๋ฆญํ์ง ์๊ณ ์ ์ฅ์ ์์ฑ ํ๋ค๋ฉด pull ์์ด push ๋ฐ๋ก ํ๋ฉด ๋๋ค)
$ git pull origin [branch name]
$ git pull
์ง๊ธ์ ๋ธ๋์น๊ฐ ํ๋๋ผ์ $ git pull origin main ์ด๋ $ git pull ์ด๋ ์๊ด ์์ง๋ง, ๊ฐ๋ฅํ๋ฉด ์ ์์ฒ๋ผ ๋ธ๋์น๋ช ๊น์ง ์ ํํ๊ฒ ๋ช ์ํด์ฃผ์
์ด์ ๋๋์ด ๊ธฐ๋ค๋ฆฌ๊ณ ๊ธฐ๋ค๋ฆฌ๋ PUSHHHHH!!!!!!!!!
$ git push -u origin main
๊น๋ํ๊ฒ done. done. 100% ๊ฐ ๋์ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๊นํ๋ธ ๋ ํฌ์งํ ๋ฆฌ ํ์ด์ง์ ๊ฐ์ ๋ด๋
main branch 1๊ฐ๋ก ๊น๊ผผํ๊ฒ ์ ๋ก๋ ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ฌ๊ธฐ๊น์ง ๊นํ ๋ ํฌ์งํ ๋ฆฌ์ ์์ฑ๋ถํฐ ์ฒซ๋ฒ์งธ ์ ๋ก๋๊น์ง ์ด๋ค.
์ด์ ๋๋ฒ์งธ ์ปค๋ฐ ํธ์ฌ๋ ์ฒ์๋ณด๋ค ํ ์ด์ด์ด์ด์ผ์ฌ ์ฝ๋ค!!
test.txt ์ ์๋ใน๋๋ผ ์์ ํ๊ณ ์๋ก์ด ํ์ผ์ธ test2.txt ๋ฅผ ์์ฑํ๋ฉด ์๋์ ๊ฐ์ด ๋์จ๋ค.
(์๋ง ์ ํํ์ง ์์ง๋ง M : modified / U : untracked ์๋๊น ์๊ฐํด๋ณธ๋ค! ์ค์จ๋ !)
git status๋ก ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์ค๊ณ ,
$ git add .
//์ผ๋ก ํด๋ ๋๊ณ
$ git add test.txt
$ git add test2.txt
//์ผ๋ก ๊ฐ๊ฐ ํด์ค๋ ๋๋ค
๊ทธ ์ดํ์ commit push ๋ฅผ ์ด์ด์ ํด์ฃผ๋ฉด, ํฐ๋ฏธ๋ ์ฐฝ์๋ ์๋์ ๊ฐ์ด ๋์ค๊ณ
๊นํ ์ ์ฅ์์ ๊ฐ์ ํ์ธํด๋ณด๋ฉด ์ ์ฌ๋ผ์จ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๋ ๊ฒ ๋๋ฒ์งธ ์ดํ์ ์ปค๋ฐ&ํธ์ฌ ๋ฐฉ๋ฒ๋ ์๋ฃ~~ ๋!!๐
[์ด ์ ๋ฆฌ] VSC์์ github repository์ main branch ๋ก push ํ๋ ๋ฐฉ๋ฒ
//๋ก์ปฌ ๊น ์ ์ฅ์ ์์ฑ(.git ํด๋ ์์ฑ)
$ git init
//Working directory -> Staging Area
$ git add [directory]
$ git add .
//Staging Area -> repository(.git)
$ git commit -m "commit message"
//์๊ฒฉ์ ์ฅ์์ ์ฐ๊ฒฐ
$ git remote add origin [์๊ฒฉ์ ์ฅ์ ์ฃผ์]
//๋ธ๋์น ๋ช
๋ฐ๊พธ๊ธฐ
$ git branch -M [branch name(main)]
$ git branch -m [ํ์ฌ branch name] [๋ฐ๊พธ๊ณ ์ถ์ branch name]
//(์ ํ) README.md๊ฐ ์๋ค๋ฉด : push ๋ณด๋ค pull ๋จผ์
$ git pull origin [branch name(main)]
//๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ -> ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ
$ git push -u origin [branch name(main)]
//ํ์ผ ์์ ๋ฐ ์ถ๊ฐ ์ดํ : ๋ค์๋ฒ commit & push
$ git pull origin [branch name] (์ ํ:๋ค๋ฅธ ์ฅ์์์ ์์
ํ๊ฒ ์์ผ๋ฉด ์ํด๋ ๋จ)
$ git add [directory]
$ git commit -m "commit message"
$ git push -u origin [branch name]
[ git์ ๋ํ ์ฌ๋ฌ๊ฐ์ง ๋ช ๋ น์ด ]
//ํ์ฌ ์ํ ๋ณด์ฌ์ค
$ git status
//ํ์ฌ ๋ธ๋์น ํ์ธ
$ git branch -v
//์ง๊ธ๊น์ง์ ๋ชจ๋ ์ปค๋ฐ์ ๋ํ ๋ด์ฉ ์กฐํ(์ปค๋ฐ์์ด๋, ์ฌ์ฉ์์ด๋ฆ, ๋ ์ง, ๋ธ๋์น)
$ git log
//git log์ ๊ทธ๋ํ ์ต์
(๊ทธ๋ํ๋ก ๋ํ๋)
$ git log --graph
//HEAD๊ฐ ๊ฐ๋ฆฌํค๋ ๋ธ๋์น ๋ฐ๊พธ๊ธฐ
$ git check [branch name]
//git init ์ทจ์ํ๊ธฐ (.git ํด๋๊ฐ ์ญ์ & ๋ก์ปฌ์ ์ฅ์ ์ง์ ํด์ )
$ rm -r .git
์์ ๋ช ๋ น์ด ๋ง๊ณ ๋ ๋ ๋ง์ด ์์ง๋ง ๊ทธ๊ฑด ๊ทธ๋๊ทธ๋ ํ์ํ๋ฉด ์ฐพ์์ ์ฌ์ฉํ๋ ๊ฑธ๋ก! :>
์ด์ ๋๋ง ์๊ณ ์์ด๋ ํ์ฌ๋ก๋ ์ถฉ๋ถํ ๊ฒ ๊ฐ๋ค.
[์ฐธ๊ณ ]
$ git push ์ $ git push -u origin [branch name] ์ ์ฐจ์ด
๋ธ๋์น๊ฐ ํ๋์ผ ๋๋ ๋ ๋ค ๋์ผํ ๋ธ๋์น๋ก ํธ์ฌ๋ฅผ ํด์ฃผ๋ ๊ฒ์ ์๋ฏธ
BUT ๋ง์ฝ ๋ธ๋์น๊ฐ ๋ ๊ฐ ์ด์์ธ ๊ฒฝ์ฐ์๋ ํ์์ฒ๋ผ ๋ฐ๋์ ๋ธ๋์น ์ด๋ฆ์ ๋ช ์ํด์ค์ผ ํ๋ค.
์ฐ๋ฆฌ๋ ์ค์ํ์ง ์๊ธฐ ์ํด์ ํ์๋ก ํํํ๋ ๊ฒ์ ์ต์ํด์ง๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค!
'๐ฑ Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] git commit message template ์ ์ฉํ๊ธฐ (0) | 2021.09.12 |
---|---|
[Git] git commit message convention์ ๋ํด ์์๋ณด๊ธฐ (0) | 2021.08.17 |
[Git ๋ช ๋ น์ด ์ ๋ฆฌ] Repository์ add, commit, push, pull ํ๊ธฐ (0) | 2021.07.30 |