<Git History, Remote Repository>

์ •ํ•œ๋ณ„ยท2024๋…„ 6์›” 19์ผ
0

Git History

Git Log ๋ฌธ๋ฒ•

๐Ÿ“Œ์ €์žฅ์†Œ์˜ Commit ์ด๋ ฅ์„ ์‹œ๊ฐ„์ˆœ์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค

์ตœ๊ทผ Commit ๊ฐœ์ˆ˜ ์ง€์ •

git log -2

์ƒ๋žตํ•  Commit ๊ฐœ์ˆ˜ ์ง€์ •

git log โ€”skip 5

Commit ๋งˆ๋‹ค ๋ณ€๊ฒฝ๋‚ด์šฉ ์ถœ๋ ฅ

git log -p

ํ•œ์ค„๋กœ ์ถœ๋ ฅ

โญgit log โ€”oneline

์‚ฌ์šฉ์ž ์ •๋ณด๋กœ ๊ฒ€์ƒ‰

git log โ€”author=<user_name or user_email>

ํŒŒ์ผ ๋ณ€๊ฒฝ๋‚ด์šฉ์œผ๋กœ ๊ฒ€์ƒ‰

git log -S <๊ฒ€์ƒ‰์–ด>

Commit Message ๋กœ ๊ฒ€์ƒ‰

git log โ€”grep <๊ฒ€์ƒ‰์–ด>

๐Ÿ“Œ ์ฐธ๊ณ 

  • git version์„ ์จ์•ผํ•œ๋‹ค๋ฉด ์•ž์— 7์ž๋ฆฌ๋งŒ ๊ธ์–ด์„œ ์‚ฌ์šฉ์„ ํ•ด๋„ ๋œ๋‹ค.
  • ์ปค๋ฐ‹์„ ๋ˆ„๊ฐ€ ํ–ˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ์ž ์ •๋ณด๋กœ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋กœ๊ทธ๋Š” ๋‹จ์ˆœํžˆ ๋ณผ ๋•Œ๋„ ์žˆ์ง€๋งŒ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด์„œ ๋””๋ฒ„๊น…์„ ๋งŽ์ด ์“ด๋‹ค. ์–ธ์ œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๊ณ  ๊ทธ๋ฌธ์ œ๋ฅผ ๋ˆ„๊ฐ€ ์ผ์œผ์ผฐ๊ณ  ๊ทธ ์ „ํ›„์— ์–ด๋–ค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์—ˆ๋‹ค ๋ผ๋Š” ๊ฒƒ๋“ค์„ ํŒŒ์•…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • git log์—์„œ ๋‚˜๊ฐ€๋Š” ๋ฒ•โžก๏ธ shift + : + q

Remote Repository

Remote ์ €์žฅ์†Œ ๊ด€๋ จ ๋ฌธ๋ฒ•

Remote ์ €์žฅ์†Œ

  • ์šฐ๋ฆฌ๋Š” GitHub ์—์„œ Remote ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  • ์•ž์—์„œ Git Clone ํ•˜์—ฌ ์‚ฌ์šฉํ•ด๋ดค๋‹ค.
  • Local Repository ์—์„œ Push, Pull (Fetch) ํ•˜์—ฌ ๋™๊ธฐํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.

Remote ์ €์žฅ์†Œ ์ถ”๊ฐ€

git remote add <remote_repo_name> <remote_repo_url>
git remote add origin <remote_repo_url>

๐Ÿ“Œ ์ฐธ๊ณ 

  • ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” local repository์™€ ๋™๊ธฐํ™”ํ•  remote repository๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐ์„ ํ•ด์ค˜์•ผํ•œ๋‹ค.
    ์ด ์ž‘์—…์ด local repository์— remote๋ฅผ add ํ•จ์œผ๋กœ์จ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • local ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋Š” remote add๋ฅผ ํ†ตํ•ด์„œ ๋‚ด๊ฐ€ ์—ฐ๊ฒฐํ•  ๋Œ€์ƒ์ž๋“ค์„
    ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ณดํ†ต์€ ํ•˜๋‚˜์˜ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ์ณ๋‹ค๋ณด๊ณ  ์žˆ์ง€๋งŒ ๋‹ค์ˆ˜์˜ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋“ฑ๋กํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
    โ†ช๏ธ ๊ตฌ๋ถ„ ๋ฐฉ๋ฒ• :url๋กœ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋“ฑ๋ก์„ ํ•ด์ค„๋•Œ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์„œ
    ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋””ํดํŠธ๋กœ ๊ฐ€์žฅ ์ค‘์š”ํ•œ remote ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋“ฑ๋ก ํ• ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ origin์ด๋ผ๋Š” ์ด๋ฆ„์„ ์จ์ค˜์•ผํ•œ๋‹ค.

Remote ์ €์žฅ์†Œ ์ฃผ์†Œ ์ˆ˜์ •

ํ† ํฐ์„ ๋„ฃ์ง€ ์•Š์•„์„œ url์„ ์ˆ˜์ •ํ•ด์ค˜์•ผํ•  ๋•Œ
git remote set-url <remote_repo_name><remote_repo_new_url>
git remote set-url origin <remote_repo_new_url>

Remote ์ €์žฅ์†Œ ์ด๋ฆ„ ์ˆ˜์ •

git remote rename <old_name> <new_name>

Remote ์ €์žฅ์†Œ ์‚ญ์ œ

git remote remove <remote_repo_name>
git remote remove origin

Remote ์ €์žฅ์†Œ ์ •๋ณด ํ™•์ธ

git remote -v

Remote ์ €์žฅ์†Œ ์ƒ์„ธ๋ณด๊ธฐ

git remote show <remote_repo_name>
git remote show origin
โ†ช๏ธ show๋ฅผ ์“ฐ๋ฉด ์–ด๋–ค repository๊ฐ€ ์ด๋Ÿฐ ์ด๋ฆ„์œผ๋กœ ๋“ฑ๋ก์ด ๋˜์—ˆ๋Š”์ง€ ,
๋‚ด๊ฐ€ ๋ฉ”์ธ ๋กœ์ปฌ์—์„œ push๋‚˜ pullํ–ˆ์„ ๋•Œ ์ด๋ฆ„์„ ์ง€์ •์„ ์•ˆํ–ˆ์„ ๋•Œ origin ๋ฌด์Šจ ๋ธŒ๋žœ์น˜์— ์˜ฌ๋ผ๊ฐ€๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

Pull

๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ๋‚จ๋“ค์ด ๊ณต์œ ํ•˜๋Š” ๋‚ด์šฉ์„ ๋ฐ›์•„์˜ค๋ ค๊ณ  ํ•  ๋•Œ
git pull <remote_repo_name> <branch_name>
git pull origin main

  • Remote Repository ์˜ ์ž‘์—… ๋‚ด์šฉ์„ Local Repository ์— ๋™๊ธฐํ™” ํ•˜๊ธฐ
  • ์‚ฌ์‹ค์€ Fetch ์™€ Merge ์˜ ๊ณผ์ •

Push

๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์„ ๊ณต์œ 
์—ฌ๊ธฐ์„œ ๋ฐ›์•„์˜ค๋Š” ๊ณณ์„ remote repository๋ผ๊ณ  ํ•œ๋‹ค.
git push <remote_repo_name> <branch_name>
git push origin main

  • Local Repository ์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ Remote Repository ์— ๋ฐฐํฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ

๐Ÿ“Œ
๋‚ด๊ฐ€ ๋กœ์ปฌ์— ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๊ฐ€ ์žˆ๋‹คํ•˜๋”๋ผ๋„ readme๋‚˜ ignore๊ฐ€ ํฌํ•จ๋œ remote ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋จผ์ € ๋งŒ๋“  ๋‹ค์Œ์— ๋น„์–ด์žˆ๋Š” ๊ฒƒ์„ ํด๋ก ํ•˜๊ณ  ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋˜ ์ฝ”๋“œ๋ฅผ ๊ฑฐ๊ธฐ์— ๋ฎ์–ด์“ฐ๊ณ  ์ปค๋ฐ‹ํ•˜๋ฉด ํŽธํ•˜๋‹ค.

๐Ÿ“Œ
fetchโžก๏ธ remote์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ›์•„๋งŒ ๋†“๊ณ  ๋ฐ”๋กœ ๋ฐ˜์˜ํ•˜์ง€ ์•Š๊ณ  ๊ฐฑ์‹ ์ด ์•ˆ๋œ ์ƒํƒœ

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด