๊น(GIT) (3)- push, pull, clone, gitignore
push & pull & clone
push
-
๋ก์ปฌ ์ ์ฅ์์์ ๊ด๋ฆฌํ ๋ฒ์ ์ด๋ ฅ์ ์๊ฒฉ ์ ์ฅ์(github)์ผ๋ก ์ ๋ก๋ ํ๋ ๋ช ๋ น์ด
$ git push origin master
-
์ฐธ๊ณ
$ git push -u origin master # ์ฌ๊ธฐ์ -u๋ ์ต์ด 1ํ๋ง ๋ถ์ด๋ฉด ๋ฉ๋๋ค. (์ต์ 1ํ push ํ ๋๋ง ๋ถ์ด์!)
pull
- ์๊ฒฉ ์ ์ฅ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์์ด(์ ๋ฐ์ดํธ)
- commit ๋ด์ญ์ ๊ธฐ๋ฐ์ผ๋ก ๋ณ๊ฒฝ ์ฌํญ์ ์๋ก ๊ฐฑ์ ํ๋ ํ์
$ git pull origin master # git์ pull(์
๋ฐ์ดํธ ํด์ค) origin ์ด๋ผ๋ ์๊ฒฉ ์ ์ฅ์๋ก๋ถํฐ master ๋ธ๋์น๋ฅผ!
$ git pull origin master
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 739 bytes | 67.00 KiB/s, done.
From https://github.com/IT3AI1/TIL
* branch master -> FETCH_HEAD
d2c6be1..29e2c44 master -> origin/master
Updating d2c6be1..29e2c44
Fast-forward
README.md | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 README.md
- ์๊ฒฉ์ ์ฅ์์
read.me
๋ฅผ ์ถ๊ฐํ ํ pull์ ํ ๊ฒฐ๊ณผ์ด๋ค.
clone
- ์๊ฒฉ ์ ์ฅ์ ์ ์ฒด๋ฅผ ๋ณต์
-
์ต์ด 1ํ๋ง ์ํ
- ํด๋ก ๋ฐ์ ํ๋ก์ ํธ๋ ์๋์ผ๋ก
.git
์ด ์ค์ ๋์ด ์์ (+remote
๋ ๋ฑ๋ก๋์ด ์์)- ๋ณต์ ํ๊ฑฐ๋๊น!
$ git clone ๋ณต์ ํ ์ ์ฅ์URL
๋ง์ฝ ์๊ฒฉ ์ ์ฅ์์ ์ด๋ฆ์ด ์๋ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ํด๋๋ฅผ clone ๋ฐ๊ณ ์ถ๋ค๋ฉด?
$ git clone ์๊ฒฉ์ ์ฅ์URL clone๋ฐ์ํด๋์ด๋ฆ
# ์์
$ git remote add origin https://github.com/IT3AI1/TIL.git TIL-test
push & pull(+clone) ์๋๋ฆฌ์ค
์ต์ด 1ํ clone ์ดํ add, commit, push & pull, add, commit, push
gitignore
git์ด ์ด๋ ํ ํด๋ / ํ์ผ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋ฌด์ํ ์ ์๋๋ก ์ ์ด๋๋ ๋ฌธ์ -> ์ฌ๊ธฐ์ ์ ํ ๋ด์ฉ์ git์ด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ์ง ์์ต๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ธ์ ๋ณด ๋ฐ ํน์ ์ฌ๋์๊ฒ๋ง ์ ์ฉ๋๋ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ๊ฐ์ ์ค์ ์ด ํฌํจ๋จ
- ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ secret key, (๋ณด์์์ ์ด์ ๋ก) github๊ณผ ๊ฐ์ ์๊ฒฉ์ ์ฅ์์ ์ ๋ก๋๋๋ฉด ์๋๋ ์ ๋ณด ๋ฑ์ git์ด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ฉด ์๋จ
- ๊ทธ๋ฆฌ๊ณ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์์๋ค๊ณ ์๊ฐ๋๋ ํด๋ ํน์ ํ์ผ๋ ํฌํจ ์ํฌ ์ ์์
.gitignore
ํ์ผ์ ๋ง๋ค์ด์ ๊ด๋ฆฌํ๋ค.- ์ผ๋ฐ์ ์ผ๋ก
git init
์ ์งํํ๊ธฐ ์ ์ ๋ง๋ ๋ค.
practice # ํน์ ํ ํด๋๋ฅผ git์ด ๊ด๋ฆฌํ์ง ์๊ฒํจ
a.txt # ํน์ ํ ํ์ผ์ git์ด ๊ด๋ฆฌํ์ง ์๊ฒํจ
*.txt # ํน์ ํ ํ์ฅ์๋ฅผ ๊ฐ์ง ํ์ผ์ git์ด ๊ด๋ฆฌํ์ง ์๊ฒํจ
gitignore.io
https://gitignore.io/
-
.vscode
/.DS_Store
-> ๋ณด์์์ ์ด์ ๊ฐ ์๋๋๋ผ๋ ๋ฒ์ ๊ด๋ฆฌ์ ํ์์ฑ์ด ์๋ ์น๊ตฌ๋ค์ด ์กด์ฌ..! - ๋ฏธ๋ฆฌ ํน์ ํ ์ธ์ด, ํ๋ ์์ํฌ, ์ด์ ์ฒด์ ๋ฑ์์ git์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ํ์๊ฐ ์๋ ์์๋ฅผ ๋๊ตฐ๊ฐ! ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋์์
- ์ธ์ด, ํ๋ ์์ํฌ, ์ด์์ฒด์ ๋ฑ์ ๊ฒ์ํ๊ณ โ์์ฑโ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋์ผ๋ก ํ์ํ ๋ด์ฉ์ ๋ง๋ค์ด ์ค๋ค.
๋ค์ ์ ๋ฆฌ!
- gitignore๋ ์ด๋ ์์ ์ ๋ง๋๋ ๊ฒ์ด ์ข์๊น์?
- git init ์ /ํ
- gitignore ํ์ผ์ด ์์นํ๋ ๊ณณ์ ์ด๋์ผ๊น์?
- ์ผ๋ฐ์ ์ผ๋ก
.git
ํด๋๊ฐ ์กด์ฌํ๋ ๊ณณ์ ์์ฑ
- ์ผ๋ฐ์ ์ผ๋ก
push error
$ git push origin main
To https://github.com/IT3AI1/practice.git
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'https://github.com/IT3AI1/practice.git' # ๊ฑฐ์ ๋จ...
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
ํด์
# ์๊ฒฉ ์ ์ฅ์๋ก pushํ๋ ๊ฒ์ ์คํจํ์..
error: failed to push some refs to 'https://github.com/IT3AI1/practice.git'
# update๊ฐ reject๋์๋๋ฐ ์๋๋ฉด... remote์ local ์๋ ์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ด ์์...
hint: Updates were rejected because the remote contains work that you do
# ์ด๋ฌํ ์ํฉ์ ์ปค๋ฐ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋๋ฐ.. remote ์ ์ฅ์์ local ์ ์ฅ์๋ฅผ ์ผ์น ์์ผ์ผ ํ ๊ฒ ๊ฐ์...
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
# ์ด.. git pull ํ๋ฒ ํด๋ณผ๋?? ์ธ์ ?? ๋ค์ push ํ๊ธฐ ์ ์...
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
- ๋ก์ปฌ ์ ์ฅ์(๋ด ์ปดํจํฐ)์ ์๊ฒฉ ์ ์ฅ์(github)์ commit ์ด๋ ฅ์ ๋น๊ตํด๋ณธ๋ค!
- ์ด ๋ฌธ์ ๋ ๋ก์ปฌ ์ ์ฅ์์ ์๊ฒฉ ์ ์ฅ์์ commit ์ด๋ ฅ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ฌธ์
- ์ฃผ๋ก ์ง์์ push๋ฅผ ํ๊ณ ๊ฐ์์ฅ์ ๊ฐ์ pullํ์ง ์์ ์ฑ๋ก ์์ ํ๊ณ add, commit ์ดํ์ push๋ฅผ ํ๋ฉด ๋ณด๊ฒ ๋๋ ๋ฉ์์ง
- ๋ก์ปฌ ์ ์ฅ์์์
$ git pull origin master
๋ฅผ ์งํํ๋ค. - vs code ์ฐฝ์ด ๋์ค๋ฉด text ํ์ผ์ x ๋ฒํผ์ ๋๋ฌ์ ์ข
๋ฃ ํ๋ค.
- ์ด๋ vs code ์ฐฝ์ด ์ด๋ฆฌ์ง ์๋ ๊ฒฝ์ฐ๋ ์๊ธฐ ๋๋ฌธ์ ๋นํฉํ์ง ๋ง ๊ฒ!
๋๊ธ๋จ๊ธฐ๊ธฐ