๐งฉ Git, GitHub
Git ๊ณผ Github์ ๋ํ์ฌ ์ ๋ฆฌํ๋ค.
๐งฉ Git, GitHub
Gitโ
- git์ ํ์ผ์ ์ํ๋ฅผ ์ ์ฅํ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
- commitํ ์์ ์ ํ์ผ๋ค์ ์ํ๋ฅผ ์ ์ฅํด๋๋๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. (branch๋ฅผ ์ฎ๊ฒผ์ ๋์๋ ๋ง์ฐฌ๊ฐ์ง)
Git, GitHub โ
- ์ ๋ง ๊ฐ๋จํ๊ฒ github์ ์ ์ฅ์์ด๊ณ , git์ local version ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ์ด๋ค !
- git์์ ๋ง์๊ป version ๊ด๋ฆฌ๋ฅผ ํด๋์ commit๋ค์ pushํด์ github์ ์ ์ฅํ๋ค.
Stage โ
- commit์ํค๊ธฐ ์ ํ์ผ๋ค์๊ฒ ๋ง์์ ์ค๋น๋ฅผ ์์ผ์ฃผ๋ ์ฅ์์.. ๐
- Stage์ ์ฌ๋ผ๊ฐ ํ์ผ๋ค์ commit๋๊ธฐ์ค์ธ ํ์ผ๋ค์ธ ๊ฒ.
โจ๏ธ ๋ช ๋ น์ด
๐ git ์ค์ , ์ด๊ธฐํ
1
2
3
# git version ํ์ธ !
git --version
1
2
3
# ๐ฑ git ์ ์ฅ์ ์ด๊ธฐํ. ์ด๊ธฐํ ํ๋ฉด [ .git ] ์ด๋ผ๋ ํด๋๊ฐ ์๊ธฐ๋ฉฐ version๊ด๋ฆฌ ์์๊ฐ๋ฅ !
git init
1
2
3
4
# ๐ git ๊ธ๋ก๋ฒ ์ค์ ๋ชฉ๋ก ์กฐํ
# ๐ --global ์ต์
์ ๋นผ๊ณ ์
๋ ฅํ๊ฒ๋๋ฉด Repository๋จ์๋ก ์ค์ ํ๋๊ฒ ์
๋๋ค.
git config --global --list
1
2
3
# ๊ธ๋ก๋ฒ ์ฌ์ฉ์ ์ค์
git config --global user.name "User name"
1
2
3
# ๊ธ๋ก๋ฒ ์ด๋ฉ์ผ ์ค์
git config --global user.email "git@gmail.com"
1
2
3
# ๊ธฐ๋ณธ ๋ธ๋์น๋ฅผ main์ผ๋ก ์ค์
git config --global init.defaultBranch main
๐ง๐ปโ๐ป ํ์ผ ์ํ ๋ค๋ฃจ๊ธฐ, ์ํ ํ์ธํ๊ธฐ
1
2
3
# ๐ ํ์ฌ ์ํ ํ์ธ commitํ ํ์ผ์ด ์๋์ง addํ ํ์ผ์ด ์๋์ง
git status
1
2
3
4
# ๐ ์ ์ฒด ํ์ผ stage์ ์ฌ๋ฆฌ๊ธฐ dot, --all option ๋์ ์ ํ์ผ๋ช
์ ์ฐ๋ฉด ํด๋น ํ์ผ๋ง ์ฌ๋ผ๊ฐ
git add .
git add --all
1
2
# ๐ ์ ์ฒด ํ์ผ unstage. ์คํ
์ด์ง์์ ๋ด๋ฆฌ๊ธฐ. dot ๋์ ์ ํน์ ํ์ผ๋ง ๋ด๋ฆด์๋ ์์.
git reset HEAD .
1
2
3
# ๐ธ stage์ ์ฌ๋ผ๊ฐ ํ์ผ,๋๋ ํ ๋ฆฌ commitํ๊ธฐ. ํ์ฌ ์ํ๋ฅผ ์ ์ฅํ๋ค. (ํ์ฌ ์์ ์ ์ฌ์ง ์ฐ๋๊ฒ๊ณผ ๊ฐ์ ๋๋.)
git commit -m "commit message"
1
2
# ๐ commit ๋ฉ์ธ์ง ์์ ํ๊ธฐ
git commit --amend -m "๋ฉ์ธ์ง ์์ ํ๊ธฐ"
1
2
# ๐ commit ์์ฑ์ ์์ ํ๊ธฐ
git commit --amend --author="bright-flare <orolsyeo@gmail.com>"
1
2
3
# ๐ commit log ํ์ธํ๊ธฐ
git log
1
2
3
4
5
# git log ๋ฅผ ํตํด commit hash code๋ฅผ ๋ณต์ฌํ์ฌ ํด๋น ๐ธ ์์ ์ผ๋ก ๋์๊ฐ๊ธฐ.
# hash code๋ง ์์ผ๋ฉด ์, ๋ค๋ก ์ํ๋ ์์ ์ผ๋ก ๋์๊ฐ ์ ์์.
# --hard option ๋ง๊ณ ๋ค๋ฅธ option๋ค๋ ์์ต๋๋ค.
git reset --hard 91f61e82b0175d49c4fceda57d8b9133432f124f
1
2
# stage์ ์ฌ๋ฆฌ์ง ์์ ํ์ผ ์ค, ๋ณ๊ฒฝ์ฌํญ ํน์ ํ์ผ์ ๋๋๋ฆฌ๊ธฐ
git checkout -- test.java
โ๏ธ ์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐํ๊ธฐ
1
2
3
4
# ๐ ์ฌ๊ธฐ์ origin์ ์๊ฒฉ repository์ ๋ณ์นญ์ด๋ค.
# ๐ local git๊ณผ ์๊ฒฉ ์ ์ฅ์(GitHub)์ repository์ ์ฐ๊ฒฐํ๋ค.
git remote add origin https://github.com/github-user/github-repository.git
1
2
3
# ๐ github-user์ github-repository ์ ์ฅ์ ๋ณต์ ํ๊ธฐ
git clone https://github.com/github-user/github-repository.git
1
2
3
# ๐ ํ์ฌ local ์ ์ฅ์์ ์ฐ๊ฒฐ๋ ์๊ฒฉ ์ ์ฅ์ url ํ์ธ
git remote -v
1
2
3
# ๐ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์ ๋ณ๊ฒฝํ๊ธฐ.
git remote set-url origin https://github-user@github.com/github-user/github-repository.git
๐ ์๊ฒฉ ์ ์ฅ์์ ์ฌ๋ฆฌ๊ธฐ
1
2
3
# commitํ ๋ด์ฉ๋ค์ ์๊ฒฉ ์ ์ฅ์ main branch์ ๋ฐ์ด๋ฃ๊ธฐ.
git push origin main
1
2
3
# ์๊ฒฉ ์ ์ฅ์ main branch์ ์ฝ๋๋ค์ local repository์ ๋๊ธฐํํ๋ค.
git pull origin main
๐ฑ Branch
1
2
3
4
5
# ๐ฑ branch ์์ฑํ๊ธฐ
# ํ์ฌ ์ปค๋ฐ ์ํ๋ถํฐ branch๊ฐ ์์ฑ๋๋ฉฐ ์์ฑ ์ดํ๋ก๋ ํ๋์ ํฐ ์ค๊ธฐ์์ ๋ป์ด๋๊ฐ๋ ๊ฐ์ง์ฒ๋ผ ๊ฐ๋ผ์ง๋ค.
# ๊ฐ๋ผ์ง ๊ฐ์ง๋ค, branch๋ค์ ๊ฐ์์ ์ถ์ ์ด๋ค๊ฐ pull request๋ฅผ ํตํด mergeํ๋ฉด ๋ค์ ํฉ์น ์ ์์ !
git branch branchname
1
2
3
# ๐ ํ์ฌ branch ํ์ธํ๊ธฐ
git branch
๐ branch ์ด๋ํ๊ธฐ !
1
git checkout branch002
1
2
3
# branch ์ญ์ ํ๊ธฐ
git branch -d branch002
๐ท tag
1
2
# git tag ์์ฑํ๊ธฐ
git tag <tag-name>
1
2
# ํน์ ์ปค๋ฐ์ ํ๊ทธ ์์ฑํ๊ธฐ (์ถ๊ฐํ๊ธฐ)
git tag <tag-name> <commit-identifier>
1
2
3
# local tag๋ฅผ ์๊ฒฉ ์ ์ฅ์์ ํธ์ํ๊ธฐ
git push origin <tag-name>
1
2
# local์ ์์ฑ๋์ด ์๋ ์ ์ฒด ํ๊ทธ ํธ์ํ๊ธฐ.
git push origin --tags
1
2
# origin tag ์ญ์ ํ๊ธฐ
git push origin :<tag-name>
This post is licensed under CC BY 4.0 by the author.