์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์ค๋ธ์
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- ์๋ฐ
- ์ฑ
- database
- ๋ฐ์ํ
- ๋ง์ผ๋ด๊ฐ์ธ์์๋ค์์ฐ๋ค๋ฉด
- K๋ฐฐํฐ๋ฆฌ
- ComputerScience
- ์ค๋ผํด
- html
- ๋ ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ปดํจํฐ๊ณผํ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- css
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ๊ฐ๋ฐ
- ์ํ
- ์ฝ๋ฉ
- ์นํผ๋ธ๋ฆฌ์ฑ
- Java
- ํ์ด์ฌ
- ํ๋ก๊ทธ๋๋ฐ
- ๋ผํ๋ผ์ค์๋ง๋
- ์นํ์ด์ง๋ง๋ค๊ธฐ
- JavaScript
- ๋ฆฌ์กํธ
- Python
- Today
- Total
JiYoung Dev ๐ฅ
[Git&GitHub] Git๊ณผ Git Hub ์ฌ์ฉ ๊ธฐ๋ณธ ๋ณธ๋ฌธ
๐ Git vs GitHub
๐ Git
- Git์ ์ฝ๊ฒ ๋งํด ๋ฒ์ ๊ด๋ฆฌ ์ํํธ์จ์ด
- ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๊ฐ ์์ ํ ์ฝ๋๊ฐ ์๋ํ์ง ์์ ๋ ์ด์ ์ฝ๋๋ก ๋กค๋ฐฑํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์์
- Git์ ๋ด ์ปดํจํฐ์ ๋ก์ปฌ ์ ์ฅ์์ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ๊ธฐ๋กํ์ฌ ํ์ผ์ ๋ฒ์ ์ ๊ด๋ฆฌ
๐ GitHub
- Git Hub๋ Git์์ฌ์ฉํ๋ ํ๋ก์ ํธ๋ฅผ ์ง์ํ๋ ์น ํธ์คํ ์๋น์ค
- Git์ ๋ก์ปฌ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ์ ์ ํ๊ธฐ ์ด๋ ค์ด๋ฐ Git Hub๋ฅผ ํตํด ๋ฒ์ ๋ณ ์ฝ๋๋ฅผ ํด๋ผ์ฐ๋ ์๋ฒ๋ฅผ ํตํด ์น ์์ ์ ๋ก๋ํ์ฌ ๋ค๋ฅธ ์ฌ๋๊ณผ ๊ณต์ ํ ์ ์์
๐ Git ์ฌ์ฉํ๊ธฐ
Git ์ฌ์ฉ์ ์ Git ์ค์น ํ์
1. Git ๋ ํฌ์งํ ๋ฆฌ ๋ง๋ค๊ธฐ
๋ ํฌ๋ฆฌํ ์ง๋ก ๋ง๋ค๊ณ ์ ํ๋ ํด๋ ์์ฑ
> ์์ฑํ ํด๋์์ ๋ง์ฐ์ค ์ฐํด๋ฆญ
> git bash here
> git init ๋ช ๋ น์ด ์ ๋ ฅ
๐ git init
๋น์ด์๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑ
** ๋ ํฌ์งํ ๋ฆฌ๋, ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๊ฐ ๋ฒ์ ์ด ๋ด๊ธฐ๋ ์ ์ฅ์
2. name๊ณผ email ์ค์ > git add > git commit
Git์ ์์ ์์ญ
1. working directory
์์ ์ ํ๋ ํ๋ก์ ํธ์ ๋๋ ํ ๋ฆฌ
ํ์ฌ ๋ด๊ฐ ๋ง๋ ํด๋์์๋ GitPracticeํด๋๊ฐ working directory
2. staging area
git add๋ฅผ ํ ํ์ผ๋ค์ด ์กด์ฌํ๋ ์์ญ
์ปค๋ฐ์ํ๊ฒ ๋๋ฉด staging area์ ์๋ ํ์ผ๋ค๋ง ์ปค๋ฐ์ ๋ฐ์๋จ
3. repository
working directory์ ๋ณ๊ฒฝ ์ด๋ ฅ๋ค์ด ์ ์ฅ๋์ด ์๋ ์์ญ
์ฆ, ์ปค๋ฐ๋ค์ด ์ ์ฅ๋๋ ์์ญ
์๋ ์์
working directory์์ ์์ ์ ์ํ
→ ์์ ํ ํ์ผ์ git addํ์ฌ staging area์ ์ ๋ก๋
→ ์ปค๋ฐ์ ํ๋ฉด staging area์ ์๋ํ์ผ์ด repository์ ์ ์ฅ
๐ git reset
staging area์์ ํ์ผ ์ ๊ฑฐ
๊ทธ๋ฌ๋ ๋ณ๊ฒฝ๋ ์ ๋ชจ์ต์ ๊ทธ๋๋ก working directory์ ๋จ์์์
git ์์ฃผ ์ฐ๋ ๋ช ๋ น์ด ๋ชจ์
git init : ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ Git์ด ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ(=working directory)๋ก ์ค์ ํ๊ณ ๊ทธ ์์ ๋ ํฌ์งํ ๋ฆฌ(.git ๋๋ ํ ๋ฆฌ) ์์ฑ
git config user.name '0000' : ํ์ฌ ์ฌ์ฉ์์ ์์ด๋๋ฅผ '0000'์ผ๋ก ์ค์ (์ปค๋ฐํ ๋ ํ์ํ ์ ๋ณด)
git config user.email '0000@00000' : ํ์ฌ ์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ฃผ์ ์ค์ (์ปค๋ฐํ ๋ ํ์ํ ์ ๋ณด)
git add [ํ์ผ ์ด๋ฆ] : ์์ ์ฌํญ์ด ์๋ ํน์ ํ์ผ์ staging area์ ์ฌ๋ฆฌ๊ธฐ
git add [๋๋ ํ ๋ฆฌ๋ช ] : ํด๋น ๋๋ ํ ๋ฆฌ ๋ด์์ ์์ ์ฌํญ์ด ์๋ ๋ชจ๋ ํ์ผ์ staging area์ ์ฌ๋ฆฌ๊ธฐ
git add . : working directory ๋ด์ ์์ ์ฌํญ์ด ์๋ ๋ชจ๋ ํ์ผ๋ค์ staging area์ ์ฌ๋ฆฌ๊ธฐ
git reset [ํ์ผ ์ด๋ฆ] : staging area์ ์ฌ๋ ธ๋ ํ์ผ ๋ค์ ๋ด๋ฆฌ๊ธฐ
git status : Git์ด ํ์ฌ ์ธ์ํ๊ณ ์๋ ํ๋ก์ ํธ ๊ด๋ จ ๋ด์ฉ๋ค ์ถ๋ ฅ (๋ฌธ์ ์ํฉ์ด ๋ฐ์ํ์ ๋ ํ์ฌ ์ํ ํ์ ์ํด ํ์ฉ)
git commit -m "์ปค๋ฐ ๋ฉ์์ง" : ํ์ฌ staging area์ ์๋ ๊ฒ๋ค์ ์ปค๋ฐ์ผ๋ก ๋จ๊ธฐ๊ธฐ
git help [์ปค๋งจ๋ ์ด๋ฆ] : ์ฌ์ฉ๋ฒ์ด ๊ถ๊ธํ Git ์ปค๋งจ๋์ ๊ณต์ ๋ฉ๋ด์ผ ๋ด์ฉ ์ถ๋ ฅ
๐ GitHub ์ฌ์ฉํ๊ธฐ
1. git ๋ ํฌ์งํ ๋ฆฌ์ ์๋ ํ์ผ์ Git ํ๋ธ๋ผ๋ ์ธ๋ถ ์ปดํจํฐ๋ก ์ด๋
๊นํ๋ธ์์ ๋ ํฌ์งํ ๋ฆฌ ์์ฑ
: ๊นํ๋ธ์์ ๋ง๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ ๋๋ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ๋ผ๊ณ ํจ
๋ด ์ปดํจํฐ์ ์๋ ๋ ํฌ์งํ ๋ฆฌ = ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ
๊นํ๋ธ์์ ์๋ก์ด ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด ์์ ๊ฐ์ด ๋ธ. ์ด๋ฅผ ๋ณต์ฌํ์ฌ ์ฌ์ฉ
2. ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์์ ๋ฐ๋ ๋ด์ฉ์ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์๋ ๋ฐ์ํ๋ ๋ฒ
๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ ์๋ก์ด ์ปค๋ฐ (์์ง ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์๋ ์ปค๋ฐ ์ํ ์ํ)
git add > git commit > git push
git push๋ฅผ ํด์ผ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์๋ ์ปค๋ฐ ๋ฐ์
3. ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์์ ๋ฐ๋ ๋ด์ฉ์ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์ ๋ฐ์ํ๋ ๋ฐฉ๋ฒ
git pull
๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ ๋ด์ฉ์ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์ ๋ฐ์
4. ๋ค๋ฅธ ํ๋ก์ ํธ ๊ฐ์ ธ์ค๊ธฐ : git clone
git clone : ๊นํ๋ธ ํ๋ก์ ํธ์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๊ทธ๋๋ก ๋ณต์
gitHub ์ฌ์ฉ์ ์ํ Git ์์ฃผ ์ฐ๋ ๋ช ๋ น์ด ๋ชจ์
git push -u origin master : ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ์ฒ์์ผ๋ก ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์ ์ฌ๋ฆด ๋ ์ฌ์ฉ
git push : ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์ ๋ณด๋
git pull : ๋ฆฌ๋ชจํธ ๋ ํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ๋ก ๊ฐ์ ธ์ค๊ธฐ
git clone [ํ๋ก์ ํธ์ GitHub ์ ์ฃผ์] : GitHub์ ์๋ ํ๋ก์ ํธ๋ฅผ ๋ด ์ปดํจํฐ๋ก ๊ฐ์ ธ์ค๊ธฐ
๐ ๊น ์ปค๋ฐ ๋ค๋ฃจ๊ธฐ
1. git log
์ด์ ๊น์ง ํ ์ปค๋ฐ๋ค : ์ปค๋ฐ ํ์คํ ๋ฆฌ
์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ๋ณด๊ธฐ ์ํ ๋ช ๋ น์ด > git log
git log๋ฅผ ์ฌ์ฉํ๋ฉด ์ต์ ์ปค๋ฐ ๋ด์ฉ๋ถํฐ ๋ํ๋จ
์ปค๋ฐ ํ์คํ ๋ฆฌ ํ์ค๋ก ๋ณด๊ธฐ : git log --pretty=oneline
์ปค๋ฐ ๋ด์ฉ ์์ธํ๊ฒ ๋ณด๊ณ ์ถ์ ๋ : git show id๋ช (์ 4์๋ฆฌ ์ ๋๊น์ง๋ง ์จ์ค๋ ์์๋จน์)
2. git commit (-m ์ต์ ์์ด)
์ฅ์ : ๊ธด ์ปค๋ฐ ๋ด์ฉ์ ์์ฑํ ์ ์์
git commit ํ ์๋์ ๊ฐ์ ์ฐฝ์ด ๋ธ
i ๋๋ฅธ ํ ์ปค๋ฐ ์ ๋ชฉ ์ ๋ ฅ
์ํฐ ๋นต๋นต
์ปค๋ฐ ๋ฉ์์ง ์ ๋ ฅ >> ESC >> :wq ํ๋ฉด ์ ์ฅ๋จ
3. git --amend : ์ต๊ทผ ์ปค๋ฐ ์์ ํ๊ธฐ
์ต์ ์ปค๋ฐ์ ์์ ํด์ ๋ค์ ์๋ก์ด ์ปค๋ฐ์ผ๋ก ๋ง๋ค ์ ์์
์ปค๋ฐ ์์ฑ, ์ปค๋ฐ ๋ฉ์์ง ์์ฑ ๊ฐ์ด๋๋ผ์ธ
1. ์ปค๋ฐ ๋ฉ์์ง์ ์ ๋ชฉ๊ณผ ์์ธ ์ค๋ช ์ฌ์ด์๋ ํ ์ค ๋น์๋๊ธฐ
2. ์ปค๋ฐ ๋ฉ์์ง์ ์ ๋ชฉ ๋ค์ ์จ์ (.) ๋ถ์ด์ง ์๊ธฐ
3. ์ปค๋ฐ ๋ฉ์์ง์ ์ ๋ชฉ์ ์ฒซ๋ฒ์งธ ์ํ๋ฒณ์ ๋๋ฌธ์๋ก ์์ฑ
4. ์ปค๋ฐ ๋ฉ์์ง์ ์ ๋ชฉ์ ๋ช ๋ น์กฐ๋ก ์์ฑ
5. ์ปค๋ฐ์ ์์ธ ๋ด์ฉ : ์ ์ปค๋ฐ์ ํ๋์ง / ์ด๋ค ๋ฌธ์ ๊ฐ ์์๊ณ / ์ ์ฉํ ํด๊ฒฐ์ฑ ์ด ์ด๋ค ํจ๊ณผ๋ฅผ ๊ฐ์ง๋์ง
6. ๋ค๋ฅธ ์ฌ๋๋ค์ด ์์ ์ ์ฝ๋๋ฅผ ์ดํดํ ์ ์๋๋ก ์ต๋ํ ์น์ ํ๊ฒ ์์ฑํ๊ธฐ
์ปค๋ฐ ๊ฐ์ด๋๋ผ์ธ
1. ํ๋์ ์ปค๋ฐ์๋ ํ๋์ ์์ ์ฌํญ, ํ๋์ ์ด์๋ฅผ ํด๊ฒฐํ ๋ด์ฉ๋ง ๋จ๊ธฐ๊ธฐ
2. ํ์ฌ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ์ํ๊ฐ ๊ทธ ๋ด๋ถ์ ์ ์ฒด ์ฝ๋๋ฅผ ์คํํ์ ๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋ ์ํ์ธ ๊ฒฝ์ฐ์๋ง ์ปค๋ฐํ๊ธฐ
4. git rest : ์ด์ ์ปค๋ฐ์ผ๋ก
git reset 3๊ฐ์ง ์ต์
--hard
--mixed
--soft
์์ฃผ ์ฐ์ด๋ ์ปค๋งจ๋ ์ ๋ฆฌ
git log : ์ปค๋ฐ ํ์คํ ๋ฆฌ ์ถ๋ ฅ
git log --pretty=oneline : ์ปค๋ฐ ํ๋๋น ํ์ค๋ก ์ถ๋ ฅ
git show [์ปค๋ฐ ์์ด๋] : ํน์ ์ปค๋ฐ์์ ์ด๋ค ๋ณ๊ฒฝ์ฌํญ์ด ์์๋์ง ํ์ธ
git commit --amend : ์ต์ ์ปค๋ฐ์ ๋ค์ ์์ ํด์ ์๋ก์ด ์ปค๋ฐ์ผ๋ก ๋ง๋ฆ
git config alias.[๋ณ๋ช ] [์ปค๋งจ๋] : ๊ธธ์ด๊ฐ ๊ธด ์ปค๋งจ๋์ ๋ณ๋ช ์ ๋ถ์ฌ์ ์ดํ๋ก ๋ณ๋ช ์ผ๋ก ํด๋น ์ปค๋งจ๋๋ฅผ ์คํํ ์ ์๋๋ก ์ค์
git diff [์ปค๋ฐ A์ ์์ด๋] [์ปค๋ฐ B์ ์์ด๋] : ๋ ์ปค๋ฐ ๊ฐ์ ์ฐจ์ด ๋น๊ต
git reset [์ต์ ] [์ปค๋ฐ ์์ด๋] : ์ต์ ์ ๋ฐ๋ผ ํ๋ ์์ ์ด ๋ฌ๋ผ์ง (๊ธฐ๋ณธ๊ฐ์ --mixed)
git tag [ํ๊ทธ ์ด๋ฆ] [์ปค๋ฐ ์์ด๋] : ํน์ ์ปค๋ฐ์ ํ๊ทธ๋ฅผ ๋ถ์