๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿฑ Git

[Git ๋ช…๋ น์–ด ์ •๋ฆฌ] Repository์— add, commit, push, pull ํ•˜๊ธฐ

by sgaeng 2021. 7. 30.

[Git] Repository์— main branch๋กœ add, commit, push, pull ํ•˜๊ธฐ

//๋กœ์ปฌ ๊นƒ ์ €์žฅ์†Œ ์ƒ์„ฑ(.git ํด๋” ์ƒ์„ฑ)
$ git init

//Working directory -> Staging Area
$ git add [directory]
$ git add .

//Staging Area -> repository(.git)
$ git commit -m "commit message"

//add + commit ํ•œ๋ฒˆ์—
$ git commit -am "commit message"

//์›๊ฒฉ์ €์žฅ์†Œ์™€ ์—ฐ๊ฒฐ
$ git remote add origin [์›๊ฒฉ์ €์žฅ์†Œ ์ฃผ์†Œ]

//ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ ์›๊ฒฉ์ €์žฅ์†Œ ํ™•์ธํ•˜๊ธฐ
$ git remote -v

//์—ฐ๊ฒฐ๋œ ์›๊ฒฉ์ €์žฅ์†Œ ์‚ญ์ œํ•˜๊ธฐ
$ git remote remove [origin]

//์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ๋˜ ์›๊ฒฉ์ €์žฅ์†Œ์˜ name์ด ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ, ์žฌ์„ค์ •
$ git remote set-url origin [์›๊ฒฉ์ €์žฅ์†Œ ์ฃผ์†Œ]

//๋ธŒ๋žœ์น˜ ๋ช… ๋ฐ”๊พธ๊ธฐ
$ git branch -M [branch name(main)]
$ git branch -m [ํ˜„์žฌ branch name] [๋ฐ”๊พธ๊ณ ์‹ถ์€ branch name]

//(์„ ํƒ) README.md๊ฐ€ ์žˆ๋‹ค๋ฉด : push ๋ณด๋‹ค pull ๋จผ์ €
$ git pull origin [branch name(main)]

//๋กœ์ปฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ -> ์›๊ฒฉ ๋ ˆํฌ์ง€ํ† ๋ฆฌ
$ git push -u origin [branch name(main)]


//ํŒŒ์ผ ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ ์ดํ›„ : ๋‹ค์Œ๋ฒˆ commit & push
$ git pull origin [branch name] (์„ ํƒ:๋‹ค๋ฅธ ์žฅ์†Œ์—์„œ ์ž‘์—…ํ•œ๊ฒŒ ์—†์œผ๋ฉด ์•ˆํ•ด๋„ ๋จ)
$ git add [directory]
$ git commit -m "commit message"
$ git push -u origin [branch name]

//git clone == remote+pull
$ git clone [Repo_url] [directory]
$ git clone [Repo_url] .   (๋ณดํ†ต ์ด๋ ‡๊ฒŒ ๋งŽ์ด ์“ด๋‹ค)


[ git์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ช…๋ น์–ด ]

//๋ธŒ๋žœ์น˜ ์ƒ์„ฑํ•˜๊ธฐ(๋กœ์ปฌ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ -> ์›๊ฒฉ์ €์žฅ์†Œ์— ํ‘ธ์‰ฌ)
  1.๋กœ์ปฌ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
$ git branch [๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋ธŒ๋žœ์น˜๋ช…]
  2.์›๊ฒฉ์ €์žฅ์†Œ์— ์ €์žฅ
$ git push origin [๋กœ์ปฌ์—์„œ ๋งŒ๋“  ๋ธŒ๋žœ์น˜๋ช…]

//๋ธŒ๋žœ์น˜ ์‚ญ์ œํ•˜๊ธฐ
  1.๋กœ์ปฌ๋ธŒ๋žœ์น˜ ์‚ญ์ œ
$ git branch -d [์‚ญ์ œ ๋ธŒ๋žœ์น˜๋ช…]
  2.์›๊ฒฉ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋ธŒ๋žœ์น˜ ์‚ญ์ œ
$ git push origin --delete [์‚ญ์ œ ๋ธŒ๋žœ์น˜๋ช…]

//๋ชจ๋“  ๋ธŒ๋žœ์น˜ ํ™•์ธ
$ git branch -v(-a)

//ํ˜„์žฌ ์ƒํƒœ ๋ณด์—ฌ์คŒ
$ git status

//์ง€๊ธˆ๊นŒ์ง€์˜ ๋ชจ๋“  ์ปค๋ฐ‹์— ๋Œ€ํ•œ ๋‚ด์šฉ ์กฐํšŒ(์ปค๋ฐ‹์•„์ด๋””, ์‚ฌ์šฉ์ž์ด๋ฆ„, ๋‚ ์งœ, ๋ธŒ๋žœ์น˜)
$ git log

//git log์˜ ๊ทธ๋ž˜ํ”„ ์˜ต์…˜(๊ทธ๋ž˜ํ”„๋กœ ๋‚˜ํƒ€๋ƒ„)
$ git log --graph

//HEAD๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ธŒ๋žœ์น˜ ๋ฐ”๊พธ๊ธฐ (= ํ˜„์žฌ ์žˆ๋Š” ๋ธŒ๋žœ์น˜ ์œ„์น˜ ๋ฐ”๊พธ๊ธฐ)
$ git checkout [branch name]

//MERGE(๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ)ํ•˜๊ธฐ
1. ํ•ฉ์น˜๊ณ  ์‹ถ์€ (root์™€ ๊ฐ€๊นŒ์šด ์ค„๊ธฐ)main branch์— ๊ฐ€์„œ mergeํ•ด์คŒ
2. $ git merge [sub-branch name]
3. (์„ ํƒ) ๋ณ‘ํ•ฉ๋œ sub๋ธŒ๋žœ์น˜ ์‚ญ์ œ

//git init ์ทจ์†Œํ•˜๊ธฐ (.git ํด๋”๊ฐ€ ์‚ญ์ œ & ๋กœ์ปฌ์ €์žฅ์†Œ ์ง€์ • ํ•ด์ œ)
$ rm -rf .git

//git pull ๋˜๋Œ๋ฆฌ๊ธฐ
$ git reset --hard ORIG_HEAD

//git add ์ทจ์†Œํ•˜๊ธฐ
$ git reset HEAD [ํŒŒ์ผ๋ช…]
$ git reset

//git commit ์ทจ์†Œํ•˜๊ธฐ
$ git reset --hard @^ (@^, @~1, @~ ๊ฐ€ ๋™์ผ)

//git remote ์ทจ์†Œํ•˜๊ธฐ (์›๊ฒฉ์ €์žฅ์†Œ ์—ฐ๊ฒฐ ํ•ด์ œ)
$ git remote rm origin

 

์œ„์˜ ๊ณผ์ •์„ ๋” ์ž์„ธํžˆ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด

https://kkangsg.tistory.com/83

 

[GitHub] Repository์— 'main' branch๋กœ push ํ•˜๊ธฐ

ํด๋” ๋ฐ ํŒŒ์ผ๋กœ ์ฝ”๋“œ์ž‘์„ฑ์„ ๋‹ค ํ•œ ๋’ค, ์›๊ฒฉ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊นƒํ—ˆ๋ธŒ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ดˆ๋ก์ƒ‰ New ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ commit-test ๋ผ๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ๋‹ค. 3๊ฐœ์˜ ์ฒดํฌ ๋ฐ•์Šค ์ค‘ ์ฒซ ๋ฒˆ์งธ

kkangsg.tistory.com