fork ์๋ฃ
clon ์๋ฃ
๐ ์ฒซ๋ฒ์งธ, ํฐ๋ฏธ๋์์ ํด๋ก ๋ช ๋ น์ด ์์ฑํ๊ธฐ
git clone https://github.com/{๋ณธ์ธ_์์ด๋}/{์ ์ฅ์ ์์ด๋}.git
ex) git clone https://github.com/woowacourse/java-baseball.git
๐ ๋๋ฒ์งธ, ํด๋ก ๋ ํด๋๋ก ๊ฐ๊ธฐ!
// cloneํ ํด๋๋ก ์ด๋ํ๋ ๋ฐฉ๋ฒ
cd {์ ์ฅ์ ์์ด๋}
ex) cd java-baseball
๐ ์ธ๋ฒ์งธ, ์๋ก์ด ๋ธ๋์น ๊ตฌ์ฑํ๊ธฐ
git checkout -b {๋ณธ์ธ ์์ด๋}
ex) git checkout -b javajigi
๐ซ ์ฃผ์์ฌํญ
์๋ก์ด ๋ธ๋์น ์์ฑ ์ commit ๊ธฐ๋ก์ main ๋ธ๋์น์ ์ฒซ ํ์คํ ๋ฆฌ๊ฐ ๋์ผํด์ผ ํฉ๋๋ค. ์ฆ, main ๋ธ๋์น์ ์ปค๋ฐ์ด ์๋กญ๊ฒ ๋ง๋ ๋ธ๋์น์์ ์ฐ๊ฒฐ๋์ด ์๋์ง ํ์ธํด์ผ ํ๋ ๊ฒ์ด์ฃ .
docs/README.md
์ ๊ตฌํํ๊ณ ์ ํ๋ ๊ธฐ๋ฅ์ ๋ชฉ๋ก์ ์์ฑํด commit
๋ฌธ์ ๋ฐ์
IntelliJ์์ ๋ด Github ๊ณ์ ์ ์ฐพ๊ธด ํ์ผ๋, Git ์ค์ ์ ์ค์ ๋์ Git ๊ณ์ ์ด ์ฐ๋๋์ง ์์ ๋ฌธ์
- ๋์ ๊ณ์ ๊ณ ์ ์์ด๋๊ฐ ์ ํํ ๋ฌด์์ธ์ง ๋ชฐ๋๋ ์ฑ๋ก ๋จ์ํ ์ด๋ฆ์ user.name์ ์ ์ฉํ๋ฉด์ ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์.
IntelliJ์์ Commit๊ณผ Push๊ฐ ์ด๋ค์ง๊ธด ํ์ผ๋, missing default github account
์ค๋ฅ ๋ฐ์
ํด๊ฒฐ
Settings... > Version Control >Github
Settings
ํด๋ฆญDeveloper settings
ํด๋ฆญPersonal access tokens > Tokens (classic) > Grnerate new token
ํด๋ฆญGenerate new token (classic)
ํด๋ฆญGenerate token
ํด๋ฆญํด ์์ฑโ ์ฐธ๊ณ
git config user.name
git config user.email
git config --global user.name {์์ด๋}
git config --global user.email {์ด๋ฉ์ผ}
๋ณธ์ธ์ ๊ฒฝ์ฐ, ๊ณ์ ์ ๋ณด๊ฐ ์ค์ Github ๊ณ์ ๊ณผ ์ฐ๊ฒฐ๋์ง ์๋ ๋ฌธ์ ์์.
ํด๊ฒฐ ํ, ๊ณ์ ์ ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๋ค๋๋ฉด ์ด๋ ๊ฒ ์ค์ Git ๊ณ์ ์ด ์ฐ๋๋๋ ๊ฒ์ ๋ณผ ์ ์์.
๋ ๋ค๋ฅธ ๋ฌธ์ ์ํฉ ๋ฐ์
commitํ ๊ธฐ๋ก์ ์ญ์ ํด์ผํ๋ ์ํฉ์ด ๋ฐ์ํด, IntelliJ์์ "RESET"์ hard๋ก ์งํํ์ผ๋ ์ญ์ ๋์ง ์์.
ํด๊ฒฐ
<์ฐธ๊ณ ๋งํฌ>
๐ [Git] Revert์ Reset์ผ๋ก ์ปค๋ฐ ์ญ์ ํ๊ธฐ | IntelliJ Reset, Revert ์ฌ์ฉํ๊ธฐ
๐ [Git] git reset --hard ๋๋๋ฆฌ๊ธฐ (feat. git reflog)
์ฐ์ push ํ์ง ์์ commit์ IntelliJ์์ ์ญ์ ํ๋ ๋ฐฉ๋ฒ
1. ์ญ์ ๋ฅผ ์ํ๋ commit์ ํด๋ฆญํ๊ณ , ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ์ ๋๋ฌ Reset Current Branch to Here...
ํด๋ฆญ
(์ด ์ฌ์ง์ ์ด๋ฏธ ์ญ์ ์ฑ๊ณต ํ์ ์บก์ณํด ํ์ฌ ์ ํ๋ commit์ ๋ฌธ์ commit์ด ์๋์ ์๋ฆฝ๋๋ค.)
2. ์ํ๋ reset ๊ฐ๋ ์ ํ ๋ฐ Reset ํด๋ฆญ
soft : commit ์ด์ ์ํ๋ก ๋์๊ฐ๊ธฐ
mixed(default) : add ์ ์ผ๋ก ๋์๊ฐ๊ธฐ
hard : ํ์ผ์ด ์ ํํ ์ปค๋ฐ ์ํ๋ก ๋๋์๊ฐ๋ค.
keep : ํ์ผ์ ์ ํํ ์ปค๋ฐ ์ํ๋ก ๋๋์๊ฐ์ง๋ง ๋ก์ปฌ ๋ณ๊ฒฝ ์ฌํญ์ ๊ทธ๋๋ก ์ ์ง๋๋ค.
IntelliJ์ Terminal์์ ์งํ
git log --oneline
์ผ๋ก commit ๊ธฐ๋ก ํ์ธ
์ญ์ ๋์ง ์์ ์ด์ ๋, HEAD๋ก ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์.
(์๋ฅผ ๋ค๋ฉด ์ด๋ฐ ์)
git reset --hard HEAD~{์์}
๋ฅผ ์
๋ ฅํด์ฃผ๋ฉด, HEAD๊ฐ ์ด์ ์ปค๋ฐ์ผ๋ก ๋์๊ฐ.
๋ณธ์ธ์ ๊ฒฝ์ฐ, HEAD๊ฐ ๋งจ ์์ ์์๊ธฐ ๋๋ฌธ์ 1์ ์ ์ฉํจ.
๋ฌธ์ ์ํฉ
ํด๊ฒฐ ๋ฐฉ๋ฒ
Mirror Push
๋ฐฑ์๋์ ์ต์น์ค๋๊ป์ ๊ณต์ ํด์ฃผ์
จ๋ค! ๊ฐ์ฌํฉ๋๋ค๐
๐ [Git] Forkํ ๋ ํฌ์งํ ๋ฆฌ์ ์ปค๋ฐ์ ์๋์ ๋ฐ์ํ๊ณ ์ถ๋ค๋ฉด? Git Mirror Push (feat. ์ฐํ
์ฝ)
commit ๋ณต์ฌ์ฉ ๋ ํฌ์งํฐ๋ฆฌ ์์ฑ
๋ด๊ฐ forkํด์ ์์
ํ๋ ๋ ํฌ์งํฐ๋ฆฌ url ๋ณต์ฌ
๋ก์ปฌ ํ๊ฒฝ์ bare clone!
git clone --bare https://github.com/๊นํ๋ธID/๋ ํฌ์งํฐ๋ฆฌ๋ช
.git
-> ์์ : ํด๋ ์ด๋ฆ์ด ๊ฐ์ ํท๊ฐ๋ฆด ๊ฒ ๊ฐ์ ํด๋ ์กฐ์
๐ง bare clone์ด ๋ญ๊ฐ์?
$ cd forkedRepository.git
$ git push --mirror https://github.com/userID/newRepository.git
-> commit ๊ธฐ๋ก ๋ฏธ๋ฌ๋ง ์๋ฃ!
++ ์ถ๊ฐ
5. ๊ทธ๋๋ ์๋๊ฐ ์ฌ์ด์ง์ง ์์์๐ฑ
-> ์ด๋, ํ์ฌ ์๋ก ๋ง๋ ๋ ํฌ์งํฐ๋ฆฌ์ defalut branch๋ฅผ ์ปค๋ฐ ๊ธฐ๋ก์ด ์๋ branch๋ก ๋ณ๊ฒฝํ๋ฉด ๋๋ค!!
branch์์ View all branches
ํด๋ฆญ
Default branch์์ โ๏ธ ํด๋ฆญ
โ๏ธ ํด๋ฆญ
Update