๐Ÿ“–
Simple & Clear Engineer Note
  • This is me
  • Infra ์šฉ์–ด
  • Linux Acceptance test
    • ISO 9126์˜ ํŠน์„ฑ์— ๋”ฐ๋ฅธ OS ํ•ญ๋ชฉ ๋ถ„๋ฅ˜
    • ๊ธฐ๋Šฅ์„ฑ (Functionality)
      • Kernel ์˜์—ญ
      • LVM (Logical Volume Manager)
      • API (daemon ์„œ๋น„์Šค ์ƒํƒœ ์ฒดํฌ)
      • CPU ์ •๋ณด ๋ฐ Firmware ํ™•์ธ
      • Memory ์šฉ๋Ÿ‰ ๋ฐ Slot ํ™•์ธ
      • Negotiation ์ƒํƒœ ํ™•์ธ
      • Raid ๊ตฌ์„ฑ ํ™•์ธ
      • WEB/WAS ์„ค์น˜
      • Cache/Swap ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ธฐํ™”
      • NFS (Network File System)
    • ์‹ ๋ขฐ์„ฑ (Reliability)
      • Bonding
      • System Reboot
      • Disk Mirror
      • Multipath
      • Cluster
      • Backup & Optical Drive check
      • kdump
      • watchdogtimer
    • ์‚ฌ์šฉ์„ฑ (Usability)
      • Locale
      • Network ๊ตฌ์„ฑ
      • Hosts file
      • DNS(Domain Name System)
      • NTP(Network Time Protocol) ์‹œ๊ฐ„ ๋™๊ธฐํ™”
      • tcpdump
      • SSH (Secure Shell)
      • Runlevel
      • Crontab ์ž‘์—… ์˜ˆ์•ฝ
      • TimeZone
      • VNC(Virtual Network Computing)
      • Yum local repository
    • ์œ ์ง€๋ณด์ˆ˜์„ฑ (Maintenance)
      • hdparm
    • ๋ณด์•ˆ์„ฑ (Security)
      • Permission error ํ•ด๊ฒฐ๋ฐฉ๋ฒ•
    • ๊ธฐํƒ€(ETC)
      • X window
      • Macro (Shell Script & TeraTerm(TTL))
  • Webserver
    • Infra Structure ์†Œ๊ฐœ
      • HTML +CSS +JavaScript
      • MongoDB + Flask
  • Hadoop Guide
    • Hadoop Single์„ค์น˜ (ver 2.7.4)
  • MachineLearning
    • ํ™•๋ฅ (Probability)
    • Machine learning์ดํ•ดํ•˜๊ธฐ
    • Processing Data(Numpy)
    • Data Handling - Pandas
      • feature Scaling
      • Data encoding
    • Analysis(with Python & R)
      • ๊ธฐ์ดˆํ†ต๊ณ„์ง€์‹
      • ํšŒ๊ท€(Regression)
      • ๋ถ„๋ฅ˜(Classification)
      • ์ฐจ์›์ถ•์†Œ(Dimension Reduction)
      • ๊ตฐ์ง‘ํ™”(Clustering)
      • ํ‰๊ฐ€(Evaluation)
      • Scikitlearn
    • Text Analysis
    • Time Series Analysis
    • Statistics
    • Customer Value Analysis
  • Deep Learning
    • CS231n
      • CS231n (Lecture 1~6)
      • CS231n(Lecture7~12)
  • DataBase
    • DataBase
    • Transaction
    • Oracle 12C setup
    • MySQL setup
    • neo4j Enterprise Setup
    • SQL
    • Data inquiry and data analysis using SQL
    • ํ’ˆ์งˆ & RiskManagement
    • ์„ฑ๋Šฅ(Performance)
    • ์•ˆ์ •์„ฑ
    • ์ด๊ธฐ์ข…๊ฐ„ ๋ฐ์ดํ„ฐ ์ด๊ด€๋ฐฉ๋ฒ•
  • ๊ธฐํƒ€
    • JAVA์šฉ์–ด์ •๋ฆฌ(์•”๊ธฐ)
  • Windows ๊ด€๋ฆฌ
    • WINDOW ์„œ๋ฒ„ root ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ•
    • ์ ‘์†์ž ํ™•์ธ
  • EMRproject
    • Git & Github
Powered by GitBook
On this page
  • GIT์ด๋ž€?
  • commit์— ๊ด€ํ•œ ์ฃผ์˜์‚ฌํ•ญ
  • Git 3๊ฐ€์ง€ ๋‚ด๋ถ€์ž‘์—…์˜์—ญ
  • Git ํŒŒ์ผ์˜ 4๊ฐ€์ง€ ์ƒํƒœ
  • git ์›๋ณต(git reset)
  • Github์™€ Connect
  • gitpush
  • git pull
  • Collaborator
  • gitclone
  • Reference

Was this helpful?

  1. EMRproject

Git & Github

Previous์ ‘์†์ž ํ™•์ธ

Last updated 3 years ago

Was this helpful?

GIT์ด๋ž€?

git์€ local์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋ฉฐ ์†Œ์Šค์ฝ”๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ ๋ฒ„์ „ ๋˜ํ•œ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋‹ค.

git์€ ํ˜•์ƒ ํŒŒ์ผ์˜ ๋ณ€ํ™”๋ฅผ ๋ฌด์—‡์ด, ์–ด๋””์„œ, ๋ˆ„๊ฐ€, ๋ช‡๋ฒˆ, ๋ช‡์‹œ์— ๋ณ€๊ฒฝ ๋˜๋Š”์ง€ ๊ธฐ๋กํ•˜๊ณ  ๊ฐ™์€ ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ฒ„์ „์„ ๋ณด๊ด€ํ•˜๋ฉฐ ๋™์‹œ์— ๊ฐ™์€ ํŒŒ์ผ์„ ๊ฐ€์ง€๊ณ  ์—ฌ๋Ÿฌ๋ช…์ด์„œ ์ž‘์—… ๊ฐ€๋Šฅํ•œ ์žฅ์ ์ด ์žˆ๋‹ค [1].

๋‚ด๊ฐ€ ๋งŒ๋“  ํŒŒ์ผ์„ ๋ฐ”๋กœ commit์„ ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ Error ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์ด๋‹ค.

commitํ•  ํŒŒ์ผ์„ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์•„๋ž˜ ์ฃผ์˜์‚ฌํ•ญ์„ ์ง€ํ‚ค๊ธธ ๋ฐ”๋ž€๋‹ค.

commit์— ๊ด€ํ•œ ์ฃผ์˜์‚ฌํ•ญ

  1. commit์„ ํ•˜๊ธฐ ์ „ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์„ค์ •ํ•œ๋‹ค. git config user.name "sangyunlee" git config user.email "yunpha123@gmail.com"

  2. commit ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. (option -m) git commit -m "Create calculator.py and License"

  3. commit ํ•  ํŒŒ์ผ์„ git add๋กœ ์ž‘์„ฑํ•˜๊ธฐ git add calculator.py git add License.txt

Git 3๊ฐ€์ง€ ๋‚ด๋ถ€์ž‘์—…์˜์—ญ

๊ฐ ์ž‘์—… ์˜์—ญ์€ working directory, staging area, repository ์ˆœ์œผ๋กœ ๋™์ž‘์„ ์ง„ํ–‰ํ•œ๋‹ค.

  1. working directory๋Š” ์ž‘์—…์„ ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งํ•œ๋‹ค. ๋‹ค๋ฅธ๋ง๋กœ working tree๋ผ ๋ถˆ๋ฆฐ๋‹ค.

์ฒ˜์Œ์— ๋งŒ๋“  ๋ ˆํผ์ง€ํ† ๋ฆฌ์ด๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ณต๊ฐ„์„ ๋งํ•˜๊ณ  , .git์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์˜์—ญ์„ ํฌํ•จํ•œ๋‹ค .

ex) $mkdir 'oracle'

$cd oracle

2. staging area๋Š” ๋‹ค๋ฅธ๋ง๋กœ index๋กœ git add๋ฅผ ํ•œ ํŒŒ์ผ๋“ค์ด ์กด์žฌํ•˜๋Š” ์˜์—ญ์ด๋‹ค. Repository๋กœ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๊ธฐ ์ „ ์ค€๋น„ ์˜์—ญ์œผ๋กœ .git/index ํŒŒ์ผ๋กœ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

commit์„ ํ•˜๊ฒŒ๋˜๋ฉด staging area์— ์žˆ๋Š” ํŒŒ์ผ๋“ค๋งŒ commit์— ๋ฐ˜์˜๋œ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด๋ณด์ž .

calculator.py์— ์ฃผ์„์„ ์ถ”๊ฐ€ ํ›„ git add calculator.py ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค.

git status ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ณด๋ฉด add ํ•œ calculator ํŒŒ์ผ๋งŒ Change to committed์— ๋ณด์ด๊ณ , ์ˆ˜์ •ํ•˜์ง€ ์•Š์€ ํŒŒ์ผ์€ Change not staged for comit ๋ฆฌ์ŠคํŠธ ์—๋ณด์ธ๋‹ค. ์ฆ‰ Change to committed์—๋Š” ์ปค๋ฐ‹์— ๋ฐ˜์˜๋  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„๋ณด์—ฌ์ฃผ๊ณ , Change not staged for comit ์—๋Š” ์ปค๋ฐ‹์— ๋ฐ˜์˜๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค.

๊ทธ๋Ÿผ ํŒŒ์ผ๋“ค์ด์—ฌ๋Ÿฌ๊ฐœ ์ˆ˜์ •๋ ๋•Œ ๋ฒˆ๊ฑฐ๋กญ๊ฒŒ git add ๋ช…๋ น์–ด๋กœ ๋‹ค ์ฐพ์•„ ํƒ€์ดํ•‘์„ํ•ด์•ผ๋ ๊นŒ?

git add .

์ด ๋ช…๋ น์–ด๋ฅผ์ด์šฉํ•˜๋ฉด ํ•œ๊บผ๋ฒˆ์— ์ ์šฉ์ด ๋œ๋‹ค. ์ฆ‰ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋‚ด์—์„œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ผ์–ด๋‚˜ ํŒŒ์ผ๋“ค์„ ๋ชจ๋‘ staging area ์— ์˜ฌ๋ฆฌ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ํ•ด๋‹น๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ช…๋ น์–ด๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค.

3. repository๋Š” working directory์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์˜์—ญ์ด๋‹ค.

commit๋“ค์ด ์ €์žฅ๋˜๋Š” ์˜์—ญ์ด๋‹ค. ์ฆ‰ ํŒŒ์ผ์ด๋‚˜ ํด๋”๋ฅผ ๋ณ€๊ฒฝ ์ด๋ ฅ๋ณ„๋กœ ์ €์žฅํ•ด๋‘๋Š” ๊ณณ์œผ๋กœ .git ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— ์กด์žฌํ•œ๋‹ค. ๋ ˆํผ์ง€ํ†  ๋ฆฌ๋Š” Local, Remote Repository๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.

์ œ์ผ ๋จผ์ € working directory์—์„œ ์ž‘์—…์ž๊ฐ€ ์ž‘์—…์„ ์ง„ํ–‰ ํ•˜๊ณ , ์ž‘์—…ํ•œ ํŒŒ์ผ๋“ค์„ git add ํ•œ ํ›„ commit์„ ํ•˜๋ฉด staging area์— ์žˆ๋˜ ํŒŒ์ผ๋“ค์˜ ๋ชจ์Šต์ด ๋งˆ์น˜ ์˜ํ™”์˜ ํ•œ ์žฅ๋ฉด, ์Šค๋ƒ…์ƒท(snapshot)์ฒ˜๋Ÿผ ์ด repository์— ์ €์žฅ๋œ๋‹ค.

git commit -m "add title comment and Create meeting-log"

Git ํŒŒ์ผ์˜ 4๊ฐ€์ง€ ์ƒํƒœ

Git์—์„œ ํŒŒ์ผ๋“ค์€ ํฌ๊ฒŒ 2๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค.

  • Untracked

  • Tracked

๊ทธ๋ฆฌ๊ณ  Tracked ์ƒํƒœ๋Š” ๋‹ค์‹œ ์•„๋ž˜์™€ ๊ฐ™์ด 3๊ฐ€์ง€ ์ƒํƒœ๋กœ ๋‚˜๋‰œ๋‹ค.

  • Staged ์ƒํƒœ

  • Unmodified ์ƒํƒœ

  • Modified ์ƒํƒœ

Untracked

๋จผ์ € Untracked๋Š” '์ถ”์ ๋˜์ง€ ์•Š๊ณ  ์žˆ๋Š”'์ด๋ผ๋Š” ๋œปํ•œ๋‹ค.

์ด ์ƒํƒœ๋Š” ํŒŒ์ผ์ด Git์— ์˜ํ•ด ๋ณ€๋™์‚ฌํ•ญ์ด ์ „ํ˜€ ์ถ”์ ๋˜๊ณ  ์žˆ์ง€ ์•Š๋Š” ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค.

์˜ˆ๋ฅผ๋“ค๋ฉด ํŒŒ์ผ์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ํŒŒ์ผ์„ ํ•œ ๋ฒˆ๋„ git add๋กœ staging area ์—์˜ฌ๋ฆฌ์ง€ ์•Š์•˜๋‹ค๋ฉด ์ด ์ƒํƒœ๋‹ค.

Tracked

ํŒŒ์ผ์ด Git์— ์˜ํ•ด ๊ทธ ๋ณ€๋™์‚ฌํ•ญ์ด ์ถ”์ ๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ๋‹ค.

์ด ์ƒํƒœ๋Š” ๋‹ค์‹œ ๊ทธ ํŠน์„ฑ์— ๋”ฐ๋ผ 3๊ฐ€์ง€ ์ƒํƒœ๋กœ ๋‚˜๋‹ค.

(1) Staged

ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด ์ˆ˜์ •๋˜๊ณ ๋‚˜์„œ, staging area์— ์˜ฌ๋ผ์™€์žˆ๋Š” ์ƒํƒœ๋ฅผ stage area์— ์˜ฌ๋ ค์ง„ ์ƒํƒœ๋‹ค.

์ƒˆ๋กœ ์ƒ์„ฑํ•œ ํŒŒ์ผ์— ๋‚ด์šฉ์„ ์“ฐ๊ณ  git add๋ฅผ ํ•ด์ฃผ๊ฑฐ๋‚˜ ํ•œ ๋ฒˆ์ด๋ผ๋„ ์ปค๋ฐ‹์— ํฌํ•จ๋์—ˆ๋˜ ํŒŒ์ผ์ด๋ผ๋„ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ณ  git add๋ฅผ ํ•ด์ฃผ๋ฉด ์ด ์ƒํƒœ๋‹ค.

(2) Unmodified

ํ˜„์žฌ ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด ์ตœ์‹  ์ปค๋ฐ‹์˜ ๋ชจ์Šต๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์ „ํ˜€ ๋ฐ”๋€ ๊ฒŒ ์—†๋Š” ์ƒํƒœ๋‹ค. ์ฆ‰ ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋‹ค. ์ปค๋ฐ‹์„ ํ•˜๊ณ  ๋‚œ ์งํ›„์—๋Š” working directory ์•ˆ์˜ ๋ชจ๋“  ํŒŒ์ผ๋“ค์ด ์ด ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

(3) Modified

์ตœ์‹  ์ปค๋ฐ‹์˜ ๋ชจ์Šต๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์กฐ๊ธˆ์ด๋ผ๋„ ๋ฐ”๋€ ๋‚ด์šฉ์ด ์žˆ๋Š” ์ƒํƒœ๋ฉด ๊ทธ ํŒŒ์ผ์€ Modified(์ˆ˜์ •๋œ) ์ƒํƒœ๋‹ค.

์–ด๋–ค ๊ฒฝ์šฐ์—, ์–ด๋–ป๊ฒŒ ์ƒํƒœ ์ „ํ™˜์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.

  • Add the file : Untracked ์ƒํƒœ์˜ ํŒŒ์ผ์„ ์ฒ˜์Œ์œผ๋กœ git add ํ•ด์ฃผ๋ฉด Staged ์ƒํƒœ๊ฐ€ ๋œ ๋‹ค.

  • Edit the file : ์ตœ์‹  ์ปค๋ฐ‹๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์ฐจ์ด๊ฐ€ ์—†๋Š” Unmodified ์ƒํƒœ์˜ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๋ฉด Modified ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

  • Stage the file: Modified ์ƒํƒœ์˜ ํŒŒ์ผ์„ git add ํ•ด์ฃผ๋ฉด Staged ์ƒํƒœ๋‹ค.

  • Remove the file : ํŒŒ์ผ์„ ์‚ญ์ œ ํ›„ Git์—์„œ ๋”์ด์ƒ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š”์ƒํƒœ

  • Commit : ์ปค๋ฐ‹์„ ํ•˜๋ฉด staging area์— ์žˆ๋˜ ํŒŒ์ผ๋“ค์ด ์ปค๋ฐ‹์— ๋ฐ˜์˜๋˜๊ณ , ์ด์ œ ๋ชจ๋“  ํŒŒ์ผ๋“ค์€ ์ตœ์‹  ์ปค๋ฐ‹๊ณผ ์ฐจ์ด๊ฐ€ ์—†๊ฒŒ ๋˜๋‹ˆ Unmodified ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

git ์›๋ณต(git reset)

์ž‘์—…์ž๊ฐ€ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์—ฌ git add๋ฅผ ํ•˜์—ฌ staging area์—์˜ฌ๋ ธ๋Š”๋ฐ ๋‹ค์‹œ ํ™•์ธํ•ด๋ณด๋‹ˆ ์ˆ˜์ •๋œ ํŒŒ์ผ์˜์ฝ”๋“œ๊ฐ€ ์ž˜๋ชป๋ฌ๋‹ค.

์•„์ง commit์„ ํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ git add๋ฅผ์ทจ์†Œ์‹œํ‚ค๋Š”๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค.

$ git reset 'ํŒŒ์ผ๋ช…'

$ git status

git reset์€ staging area์—์„œ ํŒŒ์ผ์„ ์ œ๊ฑฐํ•˜๋Š”๋ช…๋ น์–ด๋กœ ์ด ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜๋ฉด git add ๋ช…๋ น์–ด staging area์— ์˜ฌ๋ ธ๋˜ ํŒŒ์ผ์„ ์ทจ์†Œ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰ ์ˆ˜์ •๋œ ํŒŒ์ผ์ด ๋‹ค์‹œ working ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋Œ์•„๊ฐ„ ์ƒํƒœ๋‹ค.

๊ทธ๋Ÿผ ์ž˜๋ชป๋œ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ์ง€์›Œ ์ด์ „ ์ƒํƒœ์™€ ๋™์ผํ•˜๊ฒŒ ๋งŒ๋“  ํ›„ git ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด ๋ณด์ž.

working tree๊ฐ€ ๊นจ๋—ํ•˜๋‹ค๋Š”๋ง์€ working ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ด์ „๊ณผ ๊ฐ™์€ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค.

๋‹ค์‹œ๋งํ•ด ์ด์ „ commit ์ดํ›„๋กœ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์—†๋‹ค.

Github์™€ Connect

๋‹ค์Œ์€ Github์— ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  code ํŒŒ์ผ์„ ์—…๋กœ๋“œ, ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ•  ๊ฒƒ์ด๋‹ค.

๋จผ์ € Github์— ๊ฐ€์ž…ํ•œ๋‹ค.

๊ทธ ๋‹ค์Œ Github์—์„œ ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

Github์—์žˆ๋Š” ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ์›๊ฒฉ๋ ˆํผ์ง€ํ† ๋ฆฌ ํ˜น์€ ๋ฆฌ๋ชจํŠธ ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ๋งํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‚ด์ปดํ“จํ„ฐ์— ๋งŒ๋“ ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ๋กœ์ปฌ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ผ ํ•œ๋‹ค.

๋ ˆํผ์ง€ ํ† ๋ฆฌ๋ฅผ ์ž˜์ƒ์„ฑํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ํ™”๋ฉด์ด๋ณด์ผ๊ฒƒ์ด๋‹ค.

์œ„ ๊ทธ๋ฆผ์˜ ๋Œ€ํ•ด ๋จผ์ € ๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•˜๋ฉด์•„๋ž˜์™€๊ฐ™๋‹ค.

โ€ฆor create a new repository on the command line ๋ถ€๋ถ„ ๋จผ์ € ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

echo "# Codeit_Math_Box" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/MustangYun/Codeit_Math_Box.git
git push -u origin main

์ด ๋ถ€๋ถ„์€ ๋กœ์ปฌ ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ๋งŒ๋“ค๊ณ  commit์„ ํ•œ ํ›„ ์—…๋กœ๋“œ๋ฅผํ•˜๋Š” ์„ค๋ช…์ด๋‹ค.

์•„๋ž˜ 'โ€ฆor push an existing repository from the command line'์€ ์ด๋ฏธ ๋งŒ๋“  ๋กœ์ปฌ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ๊นƒํ—ˆ๋ธŒ์—์—…๋กœ๋“œ๋ฅผ ํ•˜๋Š”์„ค๋ช…์ด๋‹ค.

git remote add origin https://github.com/MustangYun/Codeit_Math_Box.git
git branch -M main
git push -u origin main

์œ„5-7๋ฒˆ์งธ github์ฝ”๋“œ์™€์•„๋ž˜ 1-3๋ฒˆ์งธ์ฝ”๋“œ ๊ฐ€ ๋™์ผํ•œ๊ฒƒ์„์•Œ์ˆ˜ ์žˆ๋‹ค.

์ด์ œ ๋กœ์ปฌ command ์ฐฝ์—์„œ ๋ฐ”๋กœ ์œ„์— ์žˆ๋Š” 1-3๋ฒˆ์งธ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

git push ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ• ๋•Œ ์•„๋งˆ ๋กœ๊ทธ์ธ ์ฐฝ์ด ๋œฐ ๊ฒƒ์ด๋‹ค. ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด ๋‚ด๊ฐ€ ๋งŒ๋“ค์—ˆ๋˜ ํŒŒ์ผ์ด ์ €์ ˆ๋กœ ์—…๋กœ๋“œ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.์„ฑ๊ณตํ–ˆ๋‹ค๋ฉด

์„ฑ๊ณตํ–ˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด๋ณด์ผ ๊ฒƒ์ด๋‹ค.

gitpush

์ด์ œ Gitpush ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ์ƒˆ๋กœ์šดํŒŒ์ผ์„ github(๋ฆฌ๋ชจํŠธ ๋ ˆํผ์ง€ํ† ๋ฆฌ)์— ์—…๋กœ๋“œํ•ด๋ณด๊ฒ ๋‹ค.

์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

$git push

์ด ๋ช…๋ น์–ด๋Š” ๋กœ์ปฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ(Local Repository)์˜ ์ตœ์‹  ๋‚ด์šฉ์„ ๋ฆฌ๋ชจํŠธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ(Remote Repository)์—๋„ ๋ฐ˜์˜ํ• ๋•Œ์‚ฌ์šฉํ•œ๋‹ค.

๊ฐ„๋‹จํ•˜๊ฒŒ README.md ํŒŒ์ผ์„ Github์— ์—…๋กœ๋“œํ•ด๋ณด์ž.

์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฅผ ๋งŒ๋“ค๊ณ  ๋‚ด์šฉ์„ ์ž…๋ ฅ ํ›„ ์ €์žฅํ•œ๋‹ค.

  2. ๋กœ์ปฌ command ์ฐฝ์—์„œ git add . ํ•œ๋‹ค.

  3. git commit

  4. gitpush๋ฅผ ํ•˜๋ฉด Github์ฐฝ์— ์—…๋กœ๋“œ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

gitpush๋ฅผ ํ–ˆ์„๋•Œ ์ด์ƒ์—†๋‹ค๋ฉด๋ฌด์—‡์ธ๊ฐ€ %๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ์œ„ ํ™”๋ฉด๋˜์ฒ˜๋Ÿผ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ์„ฑ๊ณตํ•œ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ Github๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ์—…๋กœ๋“œ๊ฐ€ ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

git pull

GitHub ํŽ˜์ด์ง€์—์„œ ์ง์ ‘ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๊ทธ ๋ฆฌ๋ชจํŠธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ž์‹ ์˜ ์ปดํ“จํ„ฐ๋กœ ๊ฐ€์ ธ๊ฐ€์„œ ์ˆ˜์ •ํ•œ ๋‹ค์Œ ๋‹ค์‹œ ๋ฆฌ๋ชจํŠธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— git pushํ•œ ๊ฒฝ์šฐ ์ˆ˜์ •๋œ ๋ฆฌ๋ชจํŠธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์„ ๋ณธ์ธ์˜ ๋กœ์ปฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—๋„ ๋ฐ˜์˜ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

์ด๋•Œ ๋กœ์ปฌ๋ ˆํผ์ง€ ํ† ๋ฆฌ git bash์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

$git pull

์ด ๋ช…๋ น์–ด๋Š” pull ์ด๋ผ๋Š” ๋‹จ์–ด ๊ทธ๋Œ€๋กœ ์žก์•„๋‹น๊ธฐ๋Š” ๊ฒƒ์ธ๋ฐ, ๋ฆฌ๋ชจํŠธ ๋ ˆํผ์ง€ํ† ๋ฆฌ ๋‚ด์šฉ์„ ๋กœ์ปฌ๋ ˆํผ์ง€ํ† ๋ฆฌ๋กœ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜๋Š”๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ๊ฐ™๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋ฆฌ๋ชจํŠธ ๋ ˆํผ์ง€ํ† ๋ฆฌ์—์„œ ์ˆ˜์ •ํ•œํŒŒ์ผ์ด ๋กœ์ปฌ ๋ ˆํผ์ง€ํ† ๋ฆฌ์—์„œ ์ œ๋Œ€๋กœ ๋ฐ˜์˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

๋กœ์ปฌ๋ ˆํผ์ง€ํ† ๋ฆฌ์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด๋ณด์ž.

$cat 'ํŒŒ์ผ๋ช…'

๋ณด์‹œ๋‹ค์‹œํ”ผ calcuc์ฒ˜์Œ์— ๋กœ์ปฌ๋ ˆํผ์ง€ํ† ๋ฆฌ์—์„œ ๋ฆฌ๋ชจํŠธ ๋ ˆํผ์ง€ํ† ๋ฆฌ๋กœ ์—…๋กœ๋“œ๋ฅผ ํ–ˆ์„๋•Œ calculator.py์˜ ์ฝ”๋“œ๊ฐ€ multiply ํŽ‘์…˜๋งŒ ์žˆ์—ˆ๋Š”๋ฐ, ๋ฆฌ๋ชจํŠธ ๋ ˆํผ์ง€ํ† ๋ฆฌ์—์„œ divide ํŽ‘์…˜์„์ถ”๊ฐ€๊ณ  git pull๋กœ ๋‚ด๋ ค ๋ฐ›์•˜์„ ๋•Œ ๋กœ์ปฌ๋ ˆํผ์ง€ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์ด ์—…๋ฐ์ดํŠธ๊ฐ€ ๋œ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿผ ๋Œ€์ฒด ๋ฆฌ๋ชจํŠธ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”๋ฌด์—‡์ผ๊นŒ?

  1. ์•ˆ์ •์„ฑ: ๋กœ์ปฌํ™˜๊ฒฝ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ ์‹œ ๋ฐฑ์—…์šฉ๋„๋กœ ๋ฆฌ๋ชจํŠธ๋ ˆํผ์ง€ํ† ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ๋งŒ ํ•˜๋ฉด๋œ๋‹ค.

  2. ํ˜‘์—…๊ฐ€๋Šฅ: ์˜ˆ๋ฅผ๋“ค์–ด A๋ผ๋Š”๊ฐœ๋ฐœ์ž๊ฐ€ code๋ฅผ์ž‘์„ฑํ•˜๊ณ  GITHUB์— ์—…๋กœ๋“œ๋ฅผํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์ด A๊ฐ€์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋ฐ›๊ณ , ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์‹œ ์ง์ ‘์ˆ˜์ •ํ•˜์—ฌ GITHUB์— ๋‹ค์‹œ ์—…๋กœ๋“œ๋ฅผ ํ–ˆ๋‹ค. ์ด๋•Œ A๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์‹œ ๊ทธ GITHUB์— ์˜ฌ๋ผ์˜จ ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋ฐ›์œผ๋ฉด ๋œ๋‹ค.

Collaborator

gitpush๋กœ ๋กœ์ปฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ(Local Repository)์˜ ์ตœ์‹  ๋‚ด์šฉ์„ ๋ฆฌ๋ชจํŠธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ(Remote Repository)์—๋„ ๋ฐ˜์˜ํ•˜๋Š”๋ฐ ๋ณธ์ธ ์ด์™ธ์— ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋„ git push๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ ค๋ฉด GitHub์—์„œ ์–ด๋–ป๊ฒŒํ•ด์•ผ๋ ๊นŒ?

GITHUB์˜ Settings์—์„œ Manager Access๋ฅผํด๋ฆญํ•œ๋‹ค์Œ, Invite Collaborator๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

๊ทธ ๋‹ค์Œ ์ดˆ๋Œ€ํ•˜๊ณ ์‹ถ์€ ๋ถ„์˜ email ์ฃผ์†Œ๋ฅผ๋ˆ„๋ฅด๋ฉด ๋œ๋‹ค.

์ดˆ๋Œ€ ๋ฐ›์€ ์‚ฌ๋žŒ์€ email๋กœ ์ดˆ๋Œ€์žฅ์„ ๋ฐ›์„ ๊ฒƒ์ด๊ณ , ์ˆ˜๋ฝ์„ ํ•˜๋ฉด ์ด์ œ ์ดˆ๋Œ€๋ฐ›์€์‚ฌ๋žŒ๋„ ๊ฐ™์€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ž์‹ ์˜ ์ปดํ“จํ„ฐ๋กœ ๊ฐ€์ ธ๊ฐ€์„œ ์ˆ˜์ •ํ•œ ํ›„ git push๋ฅผ ํ•ด์„œ ์ดˆ๋Œ€๋ฐ›์€ ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

gitclone

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‚ด ๋กœ์ปฌ๋กœ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„๋•Œ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

$ gitclone '๋‹ค๋ฅธ์‚ฌ๋žŒ์˜์ฃผ์†Œ'

HTTPS ์˜ ์ฃผ์†Œ๋ฅผ๋ณต์‚ฌํ•œ๋‹ค

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๋กœ์ปฌ๋ ˆํผ์ง€ํ† ๋ฆฌ๋กœ ๋Œ์•„๊ฐ€ gitbash์—์„œ ๋ ˆํผ์ง€ํ† ๋ฆฌ๊ฐ€ ๊ผฌ์ด์ง€ ์•Š๋„๋ก ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ๊ฐ„๋‹ค.

$cd ..

$git clone https://github.com/numpy/numpy.git

๋‹ค์šด์ด์™„๋ฃŒ๋˜๋ฉด numpy ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค.

$ cd numpy/

$ ls -al

์ด๋ ‡๊ฒŒ ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด๋งŒ๋“  ๊นƒํ—ˆ๋ธŒ ํ”„๋กœ์ ํŠธ์˜ ๋ ˆํผ์ง€ ํ† ๋ฆฌ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์ œํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Reference

๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ๋ฅผ ์ฐธ์กฐํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด numpy์˜ github์„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค. ๊ทธ๋Ÿผ numpy ์— ๋“ค์–ด๊ฐ€์„œ Code๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

[1]

[2]

๋ธ”๋กœ๊ทธ
github
https://ko.wikipedia.org/wiki/%EA%B9%83_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)
Codeit ๊ต์œก์˜์ƒ - GIT์œผ๋กœ ๋ฐฐ์šฐ๋Š”๋ฒ„์ „๊ด€๋ฆฌ
Reference
http://aispiration.com/xwmooc-sc/novice/git/01-backup.html
https://velog.io/@ryurbsgks5114/Git