[NEXT 프연 Week1] Git 시작하기

94
Git & GitHub 조영호 [email protected] Week #1 프로그래밍 연습

description

NHN NEXT 프로그래밍 연습 1주차 - UNIX 명령어 간단하게 살펴보기 입니다.

Transcript of [NEXT 프연 Week1] Git 시작하기

Page 1: [NEXT 프연 Week1] Git 시작하기

Git����������� ������������������  &����������� ������������������  GitHub����������� ������������������  

조영호����������� ������������������  [email protected]����������� ������������������  

Week����������� ������������������  #1����������� ������������������  

프로그래밍����������� ������������������  연습����������� ������������������  

Page 2: [NEXT 프연 Week1] Git 시작하기

주의!!!����������� ������������������  첫날이지만����������� ������������������  

정말����������� ������������������  어려워요;;;����������� ������������������  

Page 3: [NEXT 프연 Week1] Git 시작하기

소스����������� ������������������  버전����������� ������������������  관리����������� ������������������  

Source����������� ������������������  Version����������� ������������������  Control����������� ������������������  

Page 4: [NEXT 프연 Week1] Git 시작하기

윈도우Windows����������� ������������������  버전Version����������� ������������������  =����������� ������������������  특정����������� ������������������  시점의����������� ������������������  윈도우����������� ������������������  

Page 5: [NEXT 프연 Week1] Git 시작하기

소스Source����������� ������������������  버전Version����������� ������������������   =����������� ������������������  특정����������� ������������������  시점의����������� ������������������  소스����������� ������������������  

Page 6: [NEXT 프연 Week1] Git 시작하기

소스Source����������� ������������������  버전Version����������� ������������������  관리Control����������� ������������������  

특정����������� ������������������  시점의����������� ������������������  소스들의����������� ������������������  변경����������� ������������������  내역����������� ������������������  관리����������� ������������������  

Page 7: [NEXT 프연 Week1] Git 시작하기

응?����������� ������������������  ����������� ������������������  뭐����������� ������������������  하러?����������� ������������������  

Page 8: [NEXT 프연 Week1] Git 시작하기

전����������� ������������������  혼자����������� ������������������  ����������� ������������������  개발����������� ������������������  

할건데요?����������� ������������������  

Page 9: [NEXT 프연 Week1] Git 시작하기

Computer

열심히����������� ������������������  개발하자!!����������� ������������������  

Page 10: [NEXT 프연 Week1] Git 시작하기

실수로����������� ������������������  삭제����������� ������������������  

실수로����������� ������������������  ����������� ������������������  수정����������� ������������������  

갑자기…⋯����������� ������������������  

Computer

Page 11: [NEXT 프연 Week1] Git 시작하기

3월����������� ������������������  4일����������� ������������������  

현재����������� ������������������  

변경����������� ������������������  내역을����������� ������������������  관리하자����������� ������������������  

Computer

3월����������� ������������������  2일����������� ������������������  

Page 12: [NEXT 프연 Week1] Git 시작하기

3월����������� ������������������  2일����������� ������������������  수정����������� ������������������  내용과����������� ������������������  ����������� ������������������  3월����������� ������������������  4일����������� ������������������  삭제했던����������� ������������������  ����������� ������������������  

내용이����������� ������������������  다시����������� ������������������  필요해졌어요����������� ������������������  3월����������� ������������������  2일����������� ������������������  

3월����������� ������������������  4일����������� ������������������  

현재����������� ������������������  

Page 13: [NEXT 프연 Week1] Git 시작하기

팀����������� ������������������  작업����������� ������������������  할����������� ������������������  때는����������� ������������������  ����������� ������������������  더����������� ������������������  난리겠죠?����������� ������������������  

Page 14: [NEXT 프연 Week1] Git 시작하기

공유����������� ������������������  

복사����������� ������������������   복사����������� ������������������  

Page 15: [NEXT 프연 Week1] Git 시작하기

공유����������� ������������������  

복사����������� ������������������   복사����������� ������������������  

Page 16: [NEXT 프연 Week1] Git 시작하기

공유����������� ������������������  

복사����������� ������������������   복사����������� ������������������  

코드����������� ������������������  상태는?����������� ������������������  

Page 17: [NEXT 프연 Week1] Git 시작하기

불행한����������� ������������������  사태를����������� ������������������  방지하려면…⋯����������� ������������������  

Page 18: [NEXT 프연 Week1] Git 시작하기

소스Source����������� ������������������  버전Version����������� ������������������  관리Control����������� ������������������  

소스의����������� ������������������  변경����������� ������������������  내역을����������� ������������������  관리����������� ������������������  ����������� ������������������  

Page 19: [NEXT 프연 Week1] Git 시작하기

과거����������� ������������������  특정����������� ������������������  시점의����������� ������������������  코드로����������� ������������������  돌아가고����������� ������������������  싶어요����������� ������������������  

여러����������� ������������������  사람이����������� ������������������  코드를����������� ������������������  수정할����������� ������������������  때����������� ������������������  문제가����������� ������������������  없었으면����������� ������������������  좋겠어요����������� ������������������  

소스����������� ������������������  버전����������� ������������������  관리SVC의����������� ������������������  필요성����������� ������������������  

코드����������� ������������������  세계의����������� ������������������  타임머신����������� ������������������  

코드����������� ������������������  세계의����������� ������������������  충돌����������� ������������������  중재자����������� ������������������  

Page 20: [NEXT 프연 Week1] Git 시작하기

우리가����������� ������������������  배울����������� ������������������  소스����������� ������������������  버전����������� ������������������  관리����������� ������������������  도구는…⋯����������� ������������������  

Page 21: [NEXT 프연 Week1] Git 시작하기

Git����������� ������������������  

Page 22: [NEXT 프연 Week1] Git 시작하기

GitHub����������� ������������������  Repository����������� ������������������  생성하기����������� ������������������  

“New����������� ������������������  Repository”����������� ������������������  선택����������� ������������������  

Page 23: [NEXT 프연 Week1] Git 시작하기

GitHub����������� ������������������  Repository����������� ������������������  설정����������� ������������������  

Page 24: [NEXT 프연 Week1] Git 시작하기

GitHub����������� ������������������  Repository����������� ������������������  생성����������� ������������������  성공!!!����������� ������������������  

Page 25: [NEXT 프연 Week1] Git 시작하기

터미널을����������� ������������������  띄우고����������� ������������������  

Page 26: [NEXT 프연 Week1] Git 시작하기

다음����������� ������������������  순서대로����������� ������������������  입력해����������� ������������������  보세요����������� ������������������  

mkdir  git-­‐project  

cd  git-­‐project  

touch  README.md  

git  init  

git  add  README.md  

git  commit  -­‐m  “first  commit”  

git  remote  add  origin  h=ps://github.com/snatcher93/test-­‐project.git  

git  push  –u  origin  master    

Page 27: [NEXT 프연 Week1] Git 시작하기

GitHub����������� ������������������  Repository����������� ������������������  확인����������� ������������������  

Page 28: [NEXT 프연 Week1] Git 시작하기

Git����������� ������������������  자세히����������� ������������������  살펴보기����������� ������������������  

Page 29: [NEXT 프연 Week1] Git 시작하기

혼자����������� ������������������  ����������� ������������������  개발할����������� ������������������  때는����������� ������������������  ����������� ������������������  어떻게����������� ������������������  써요?����������� ������������������  

Page 30: [NEXT 프연 Week1] Git 시작하기

add

Git����������� ������������������  관점에서의����������� ������������������  논리적인����������� ������������������  작업����������� ������������������  환경����������� ������������������  

commit

checkout

최종����������� ������������������  ����������� ������������������  목적지����������� ������������������  

Git Directory Staging Area

Working Directory

reset

Page 31: [NEXT 프연 Week1] Git 시작하기

하나씩����������� ������������������  살펴����������� ������������������  보죠����������� ������������������  

mkdir  git-­‐project  

cd  git-­‐project  

touch  README.md  

git  init  

git  add  README.md  

git  commit  -­‐m  “first  commit”  

git  remote  add  origin  h=ps://github.com/snatcher93/test-­‐project.git  

git  push  –u  origin  master    

Page 32: [NEXT 프연 Week1] Git 시작하기

mkdir  git-­‐project

git-project

Page 33: [NEXT 프연 Week1] Git 시작하기

touch  README.md

git-project

README.md

git은����������� ������������������  이����������� ������������������  파일과����������� ������������������  디렉토리의����������� ������������������  존재를����������� ������������������  알지����������� ������������������  못합니다����������� ������������������  

Untracked

Page 34: [NEXT 프연 Week1] Git 시작하기

git  init

git-project

README.md

Git Directory Staging Area

Working Directory

Untracked

Page 35: [NEXT 프연 Week1] Git 시작하기

git status

Page 36: [NEXT 프연 Week1] Git 시작하기

add

Git����������� ������������������  관점에서의����������� ������������������  논리적인����������� ������������������  작업����������� ������������������  환경����������� ������������������  

Git Directory Staging Area

Working Directory

Page 37: [NEXT 프연 Week1] Git 시작하기

git add README.md

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Tracked Staged

Page 38: [NEXT 프연 Week1] Git 시작하기

git status

Page 39: [NEXT 프연 Week1] Git 시작하기

add

Git����������� ������������������  관점에서의����������� ������������������  논리적인����������� ������������������  작업����������� ������������������  환경����������� ������������������  

commit

Git Directory Staging Area

Working Directory

Page 40: [NEXT 프연 Week1] Git 시작하기

git commit –m “first commit”

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Tracked Committed

Page 41: [NEXT 프연 Week1] Git 시작하기

git status

Page 42: [NEXT 프연 Week1] Git 시작하기

git log git commit –m “first commit”

Page 43: [NEXT 프연 Week1] Git 시작하기

README.md 파일����������� ������������������  수정����������� ������������������  

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Tracked Modified

Page 44: [NEXT 프연 Week1] Git 시작하기

git status

Page 45: [NEXT 프연 Week1] Git 시작하기

add commit

checkout

Git Directory Staging Area

Working Directory

Git����������� ������������������  관점에서의����������� ������������������  논리적인����������� ������������������  작업����������� ������������������  환경����������� ������������������  

Page 46: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git checkout -- README.md

Tracked

Page 47: [NEXT 프연 Week1] Git 시작하기

git status

Page 48: [NEXT 프연 Week1] Git 시작하기

README.md 파일����������� ������������������  다시����������� ������������������  수정����������� ������������������  

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Tracked Modified

Page 49: [NEXT 프연 Week1] Git 시작하기

git status

Page 50: [NEXT 프연 Week1] Git 시작하기

add commit

checkout

Git Directory Staging Area

Working Directory

reset

Git����������� ������������������  관점에서의����������� ������������������  논리적인����������� ������������������  작업����������� ������������������  환경����������� ������������������  

Page 51: [NEXT 프연 Week1] Git 시작하기

git  add  README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Tracked Staged

Page 52: [NEXT 프연 Week1] Git 시작하기

git status

Page 53: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git reset HEAD README.md

Tracked Modified

Page 54: [NEXT 프연 Week1] Git 시작하기

git  status

Page 55: [NEXT 프연 Week1] Git 시작하기

Git����������� ������������������  작업����������� ������������������  환경����������� ������������������  다시����������� ������������������  살펴보기����������� ������������������  

Git Directory Staging Area

Working Directory

현재����������� ������������������  작업����������� ������������������  중����������� ������������������  

작업����������� ������������������  내용����������� ������������������  중����������� ������������������  Commit할����������� ������������������  대상����������� ������������������  

작업����������� ������������������  끝!!����������� ������������������  

Page 56: [NEXT 프연 Week1] Git 시작하기

Commit����������� ������������������  을����������� ������������������  해야����������� ������������������  ����������� ������������������  수정����������� ������������������  사항이����������� ������������������  반영된����������� ������������������  ����������� ������������������  것입니다����������� ������������������  

Page 57: [NEXT 프연 Week1] Git 시작하기

원격����������� ������������������  저장소����������� ������������������  이용하기����������� ������������������  

Page 58: [NEXT 프연 Week1] Git 시작하기

팀����������� ������������������  작업����������� ������������������  할����������� ������������������  때는����������� ������������������  ����������� ������������������  어떻게����������� ������������������  써요?����������� ������������������  

Page 59: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Remote����������� ������������������  Repository����������� ������������������  

Page 60: [NEXT 프연 Week1] Git 시작하기
Page 61: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Page 62: [NEXT 프연 Week1] Git 시작하기

여기부터����������� ������������������  계속����������� ������������������  보죠����������� ������������������  

mkdir  git-­‐project  

cd  git-­‐project  

touch  README.md  

git  init  

git  add  README.md  

git  commit  -­‐m  “first  commit”  

git  remote  add  origin  h=ps://github.com/snatcher93/test-­‐project.git  

git  push  –u  origin  master    

Page 63: [NEXT 프연 Week1] Git 시작하기

origin����������� ������������������  

h=ps://github.com/snatcher93/test-­‐project.git  

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git  remote  add  origin  h=ps://github.com/snatcher93/test-­‐project.git  

master����������� ������������������  

Page 64: [NEXT 프연 Week1] Git 시작하기

git  remote  -­‐v

Page 65: [NEXT 프연 Week1] Git 시작하기

Commit된����������� ������������������  파일을����������� ������������������  GitHub에����������� ������������������  전송하고����������� ������������������  ����������� ������������������  싶은데요?����������� ������������������  

Page 66: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

push����������� ������������������  

Page 67: [NEXT 프연 Week1] Git 시작하기

마지막����������� ������������������  명령문����������� ������������������  

mkdir  git-­‐project  

cd  git-­‐project  

touch  README.md  

git  init  

git  add  README.md  

git  commit  -­‐m  “first  commit”  

git  remote  add  origin  h=ps://github.com/snatcher93/test-­‐project.git  

git  push  –u  origin  master    

Page 68: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

Page 69: [NEXT 프연 Week1] Git 시작하기

이제����������� ������������������  모두����������� ������������������  이해하시겠죠?����������� ������������������  

mkdir  git-­‐project  

cd  git-­‐project  

touch  README.md  

git  init  

git  add  README.md  

git  commit  -­‐m  “first  commit”  

git  remote  add  origin  h=ps://github.com/snatcher93/test-­‐project.git  

git  push  –u  origin  master    

Page 70: [NEXT 프연 Week1] Git 시작하기

Git����������� ������������������  작업����������� ������������������  환경����������� ������������������  다시����������� ������������������  살펴보기����������� ������������������  

Git Directory Staging Area

Working Directory

현재����������� ������������������  작업����������� ������������������  중����������� ������������������  

작업����������� ������������������  내용����������� ������������������  중����������� ������������������  

Commit할����������� ������������������  대

상����������� ������������������  

작업����������� ������������������  끝!!����������� ������������������   최종����������� ������������������  

반영����������� ������������������  add commit push

Page 71: [NEXT 프연 Week1] Git 시작하기

Commit����������� ������������������  후에����������� ������������������  반드시����������� ������������������  Push까지����������� ������������������  해줘야����������� ������������������  합니다!!!����������� ������������������  

Page 72: [NEXT 프연 Week1] Git 시작하기

함께����������� ������������������  작업하기����������� ������������������  

Page 73: [NEXT 프연 Week1] Git 시작하기

다른����������� ������������������  사람이����������� ������������������  GitHub에����������� ������������������  넣은����������� ������������������  파일을����������� ������������������  ����������� ������������������  

가져오고����������� ������������������  싶은데요?����������� ������������������  ����������� ������������������  

Page 74: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

저장소����������� ������������������  복제����������� ������������������  

Page 75: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

clone����������� ������������������  

Page 76: [NEXT 프연 Week1] Git 시작하기

다음����������� ������������������  순서대로����������� ������������������  입력해����������� ������������������  보세요����������� ������������������  

cd  ~  

git  clone  h=ps://github.com/snatcher93/test-­‐project.git  git-­‐project-­‐2  

Page 77: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

origin����������� ������������������  

master����������� ������������������   master����������� ������������������  

프로젝트����������� ������������������  공유����������� ������������������  성공����������� ������������������  

Page 78: [NEXT 프연 Week1] Git 시작하기

다른����������� ������������������  사람이����������� ������������������  변경한����������� ������������������  파일을����������� ������������������  받을����������� ������������������  수����������� ������������������  있나요?����������� ������������������  

Page 79: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

코드����������� ������������������  ����������� ������������������  수정����������� ������������������  

Page 80: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

push����������� ������������������  

Page 81: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

pull����������� ������������������  

Page 82: [NEXT 프연 Week1] Git 시작하기

git pull origin master

Page 83: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

Page 84: [NEXT 프연 Week1] Git 시작하기

불행한����������� ������������������  사태����������� ������������������  ����������� ������������������  방지하기����������� ������������������  

Page 85: [NEXT 프연 Week1] Git 시작하기

동시에����������� ������������������  같은����������� ������������������  코드를����������� ������������������  ����������� ������������������  고치면����������� ������������������  어떻게����������� ������������������  ����������� ������������������  되나요?����������� ������������������  

Page 86: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

코드����������� ������������������  ����������� ������������������  수정����������� ������������������  

Page 87: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

코드����������� ������������������  ����������� ������������������  수정����������� ������������������  

Page 88: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

push����������� ������������������  

Page 89: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

push����������� ������������������  

Page 90: [NEXT 프연 Week1] Git 시작하기
Page 91: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

pull����������� ������������������  

merge����������� ������������������  

Page 92: [NEXT 프연 Week1] Git 시작하기

git pull origin master

Page 93: [NEXT 프연 Week1] Git 시작하기

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

push����������� ������������������  

Page 94: [NEXT 프연 Week1] Git 시작하기

Push����������� ������������������  전에����������� ������������������  Pull을����������� ������������������  해서����������� ������������������  충돌����������� ������������������  사항을����������� ������������������  Merge한����������� ������������������  후����������� ������������������  Push하세요!!!����������� ������������������