[NEXT 프연 Week1] Git 시작하기

Post on 10-May-2015

910 views 9 download

description

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

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

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

조영호����������� ������������������  snatcher@nhn.com����������� ������������������  

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

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

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

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

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

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

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

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

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

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

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

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

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

Computer

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

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

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

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

Computer

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

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

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

Computer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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    

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

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

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

add

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

commit

checkout

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

Git Directory Staging Area

Working Directory

reset

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

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    

mkdir  git-­‐project

git-project

touch  README.md

git-project

README.md

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

Untracked

git  init

git-project

README.md

Git Directory Staging Area

Working Directory

Untracked

git status

add

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

Git Directory Staging Area

Working Directory

git add README.md

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Tracked Staged

git status

add

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

commit

Git Directory Staging Area

Working Directory

git commit –m “first commit”

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Tracked Committed

git status

git log git commit –m “first commit”

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

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Tracked Modified

git status

add commit

checkout

Git Directory Staging Area

Working Directory

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

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git checkout -- README.md

Tracked

git status

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

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

Tracked Modified

git status

add commit

checkout

Git Directory Staging Area

Working Directory

reset

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

git status

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git reset HEAD README.md

Tracked Modified

git  status

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

Git Directory Staging Area

Working Directory

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

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

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

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

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

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

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

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

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

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

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    

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����������� ������������������  

git  remote  -­‐v

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

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

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

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

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    

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

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

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    

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

Git Directory Staging Area

Working Directory

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

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

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

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

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

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

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

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

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

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

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

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

git-project

README.md

git-project

README.md

Git Directory Staging Area

Working Directory

git-project

README.md

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

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

cd  ~  

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

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����������� ������������������  

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

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

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

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

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����������� ������������������  

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����������� ������������������  

git pull origin master

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

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

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

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

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

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

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

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����������� ������������������  

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����������� ������������������  

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����������� ������������������  

git pull origin master

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����������� ������������������  

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