๋ฐ์ํ
๐ก ๋ณธ ๋ฌธ์๋ 'Git์ ์ํ ํ๊ฒฝ๊ตฌ์ถ'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
์์ [Git] ์ Git์ ์ฌ์ฉํ ๊น?๋ฅผ ๋ณด๊ณ ์๋ค๋ฉด ์ Git์ ์ฌ์ฉํด์ผํ๋์ง ์ดํดํ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ [Git] Git-Workflow, git ํ๋ฆ์ ์ดํด๋ณด์! Git-Flow๊น์ง ๋ดค๋ค๋ฉด? Git์ ์ญํ ๊น์ง ๋์ถฉ ํ์ ํ์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด Git์ ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ์ ๋ง๋ค๊ณ ๊ฐ๋จํ๊ฒ ์ฌ์ฉํด๋ณผ๊น์?
Git ์ค์น ๋ฐ ๊ธฐ๋ณธ ์ค์
Git ์ค์น
- Window: https://gitforwindows.org/
- Mac: Brew install git
- Linux: apt-get install git
Git ๊ธฐ๋ณธ ์ค์ (GUI)
- github ํ์๊ฐ์ ํ ๋ก๊ทธ์ธ
- new repository (github ๋ด์ ๋๋ง์ ๊ณต๊ฐ์์ฑ)
- repository ์ค์ (name, discription, public or private...)
- create repository
git์์ add, commit, pushํ๊ธฐ! (feat. pull)
git์ ๊ฒฐ๊ตญ ๋ด๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ๊ณต์ ํ๊ธฐ ์ํด์ ์ฝ๋๋ฅผ ์์ฑํ ํ์ผ์ ์ ํํ๊ณ , ์ค๋ช ์ ์์ฑํ ๋ค์ repo์ ๊ณต์ ํ๋ ๊ณผ์ ์ด ํ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ฐ๋ฐ์์ ํ์ ์ ํ๋ค๋ฉด ๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ ๋ด ์ฝ๋์ ํฉ์น๋ค์ ์๋ก์ด ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๊ฐ add, commit, push, pull ์ด๋ผ๊ณ ํ๋ค.
1. add(์ ํ)ํ๊ธฐ!
- $ git add <ํ์ผ๋ช > : ํน์ ํ์ผ๋ง ์ ํ ๊ฐ๋ฅํจ
- $ git add . : ๋ณ๊ฒฝ๋ ๋ชจ๋ ํ์ผ ์ ํํ๊ธฐ
2. commit(์์ ๋ด์ฉ ์์ฑ)ํ๊ธฐ!
- vim ์๋ํฐ๋ก ๋์ด๊ฐ์ commit ๋ฉ์ธ์ง ์์ฑํ๊ธฐ
$ git commit - git bash์์ ์ง์ ์ปค๋ฐ ๋ฉ์ธ์ง ์์ฑ๊ฐ๋ฅ : ๋ค์ชฝ์"๊ฐ ๋๋๊ธฐ ์ ์ ์ํฐ๋ฅผ ์น๋ฉด ์ ๋ชฉ๊ณผ ๋ด์ฉ์ผ๋ก ๊ตฌ๋ถ๋จ
I added README.md with git for the first time.
I think git and github is cool."
commit ๋ฉ์ธ์ง ์์ฑ tip
- ์ปค๋ฐ์ ์์ ๋จ์๋ฅผ ์ค๋ช ํ ์ ์๋ ์ถฉ๋ถํ ๋ด์ฉ์ด ์์ด์ผ ํจ. (์๋ฏธ๊ฐ ์๋ ๋จ์๋ก ๊ตฌ๋ถ๋์ด์ผ ํ๋ค.)
- ์ปค๋ฐ ๋ฉ์ธ์ง๋ ๊ฐ๋ฅํ๋ฉด ์๋ฌธ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ์ข๋ค. (git repository๊ฐ ๊ณต๊ฐ๋์ด ์๋ค๋ฉด ์ธ๊ตญ์ธ๋ค๋ ๋ชจ๋ ํ์ธํ ์ ์์ผ๋ฏ๋ก ์๋ฌธ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ์ข๋ค. ๋ฌผ๋ก , ํ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ ํ์๊ฐ์ ํ์์ ๋ฐ๋ผ ํ๊ธ๋ก ์์ฑํด๋ ๋ฌธ์ ๋์ง ์๋๋ค.)
commit ๋ฉ์ธ์ง prefix
- feat: feature (๊ธฐ๋ฅ ๊ฐ๋ฐ, ์ถ๊ฐ)
- docs : documentions (๋ฌธ์)
- refact : refactoring (์ฝ๋ ๋ฆฌํฉํ ๋ง)
- conf : configuration (ํ๊ฒฝ์ค์ )
- bug-fix : bug-fix (๊ธฐ์กด๊ธฐ๋ฅ์ ๋ฒ๊ทธ)
- solve : merge conflict solved
- release : releases
- style : ์ฝ๋ ํฌ๋งทํ , ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ
- test : ํ ์คํธ ์ฝ๋, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋ ์ถ๊ฐ
- chore : ๋น๋ ์ ๋ฌด ์์ , ํจํค์ง ๋งค๋์ ์์
3. push(repository์ ์ฌ๋ฆฌ๊ธฐ) ํ๊ธฐ!
- git ์ origin์ master๋ก push ํ๊ธฐ!!
$ git push origin master
4. git์์ pull(๋น๊ฒจ์ค๊ธฐ) ํ๊ธฐ!
- ๋ด๊ฐ ํ์ฌ ์์
ํ๊ณ ์๋ ํด๋์์ ์งํํด์ผ ํจ.
$ git pull origin master
git ๋ช ๋ น์ด ์ ๋ฆฌ
$ git status : ํ์ฌ ์์
์ ์ํ ํ์ธ
$ git remote add origin ์ฃผ์ : ๊น์ฃผ์๋ฅผ ๋ฑ๋ก
$ git remote
$ git remote get-url origin
$ git log : ์์
ํ git commit ๋ด์ฉ ํ์ธ
$ git pull origin ๋ธ๋์น๋ช
--allow-unrelated-histories : ๋จธ์ง๊ฐ ๋ค ๋์๋๋ฐ, ์๊พธ ๋ญ๊ฐ ๋ ๋จธ์งํด์ผ ํ๋ค๊ณ ํ ๋ ๋จธ์ง๋ฅผ ๋ฌด์ (๊ฐ์ ๋ก ๋จธ์ง๋ฅผ ์ํค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ถ๋ช
ํ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ๋จ๋ ๋๋ง ์ฌ์ฉํด์ผ ํ๋ค.)
$ git reset filename.txt : git add์ ๋ฐ๋ ๊ฐ๋
์ผ๋ก ์คํ
์ด์ง๋ ํ์ผ์ ์คํ
์ด์ง์ด ๋์ง ์์ ์ํ๋ก ๋๋๋ฆฐ๋ค.
$ git branch [-r/-a] : -r ์ต์
์ ๋ฆฌ๋ชจํธ๋ก๋ถํฐ ๊ฐ์ ธ์จ ๋ธ๋์น๋ฅผ -a ์ต์
์ ๋ก์ปฌ๊ณผ ๋ฆฌ๋ชจํธ ๋ธ๋์น ๋ชจ๋๋ฅผ ๋ณด์ฌ์ค
$ git branch ๋ธ๋์น๋ค์ : '๋ธ๋์น๋ค์'์ผ๋ก ์ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ํ์ฌ์ ์ปค๋ฐ์ ์์์ ์ผ๋ก ํจ
$ git checkout ๋ธ๋์น๋ค์ : ๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ๊ธฐ
$ git reset HEAD^ : PUSH ํ๊ธฐ ์ commit ์ทจ์
์ด์ Git ์ค์น์ ์ ๋งํ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ์์์ผ๋ ์ธ๋ถ์ ์ธ ์ฌํญ์ด ๊ถ๊ธํ๋ฉด ์ต๋ํ ์ฐพ์๋ณด๋๋ก ํ์!
์ฐธ๊ณ
- Git์ ์ ํ์ํ๊ฐ? (feat. git ์ฌ์ฉ๋ฒ): https://velog.io/@hyacinta/Git%EC%9D%80-%EC%99%9C-%ED%95%84%EC%9A%94%ED%95%9C%EA%B0%80-feat.-git-%EC%82%AC%EC%9A%A9%EB%B2%95
๋ฐ์ํ
'Study: DeveloperTools(DevTool) > DevTool: Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] Commit ๋ฉ์์ง ๊ฐ์ด๋๋ผ์ธ (0) | 2022.07.04 |
---|---|
[Git] ssh ๊ณต๊ฐํค GitHub์ ๋ฑ๋กํ๊ธฐ (feat. github, bitbucket) (0) | 2022.06.21 |
[Git] Git Personal Access Token ๋ฐ๊ธ ๊ณผ์ (์ฌ์ง ํฌํจ)! (0) | 2022.04.17 |
[Git] Git-Workflow, git ํ๋ฆ์ ์ดํด๋ณด์! (0) | 2022.02.24 |
[Git] ์ Git์ ์ฌ์ฉํ ๊น? (0) | 2022.02.23 |