SlideShare a Scribd company logo
리스펙토링
첫 번째 세션
목차
Git
1. 깃?
2. 명령어
3. objects
Github
1. 이건 또 뭐야?
2. Tip
3. 필요할까? 실습
1. 깃 설치
2. 깃 명령어 사용
3. 깃헙 페이지 배포
Git
Git = 버전 관리 시스템(VCS)
파일 변화를 시간에 따라 기록했다가
나중에 특정 시점의 버전을
다시 꺼내올 수 있는 시스템
(*Pro git 참조)
Kakao Taxi
V 1.0
V 2.0
V 3.0
1.1
1.2
1.3
Test.c
main.c
1.1.1 error
fixed.c
Final.c
*기존 관리 방식 : 로컬, 중앙 집중식
중앙 저장소
작업 파일 복사 작업 파일 복사
CVCS(중앙 집중식)
• 프로젝트 관리자가 팀원들의 작업을
한 눈에 쉽게 관리가 가능
• 중앙 서버 고장 시 작업 불가, 백업
불가 등의 치명적인 문제 발생
DCVS(분산)
• 중앙 저장소의 자료를 통째로 복사
해서 로컬에 저장하기 때문에 아무
거나 골라도 서버 복원 가능
• 다양한 그룹과 다양한 방법으로 협
업 활동이 가능
중앙 저장소
(*github)
원격 저장소 원격 저장소
그래서 버전관리, 저장소 복제,
저장, 협업은 어떻게 하나요..?
=> Git 명령어를 사용
오늘 알아볼 Git 명령어
• git clone : 다른 서버에 있는 저장소를 복제
• git init : 현재 작업환경에 새로운 빈 저장소 .git 폴더를 생성
• git add : git이 파일을 새로 추적 [임시 저장?]
• git status : 파일의 상태를 확인
(untracked, unmodifed, modifed, staged)
• git commit : 변경된 파일 내용, 정보들을 저장소에 기록 [스냅숏]
• git remote : 원격 저장소 확인, 로컬환경과 연결
• git push : 연결된 원격 저장소에 커밋한 자료들을 전송
• git pull : 연결된 원격 저장소의 자료들을 로컬로 가져옴
다른 많은 git 명령어는
git에 익숙해지면서 천천히 찾아보기
*협업을 위해 branch(분기)
명령어를 꼭 익혀놓자 - 필수
*git 흐름 (출처 : 초보몽키의 개발공부로그)
좀 더 git의 원리를 알기 위해
구조를 파헤치자면..
** Objects
• 깃은 파일을 4가지의 object로 관리한다.
• blob, tree, commit, tag
• object 이름은 SHA1 해싱 알고리즘을
사용하여 영어,숫자 40자리로 만들어진다.
• .git/objects/ 폴더에 위치
• git cat-file –p “객체명” 으로 내용 확인
*git 구조 (출처 : 몽고랩)
* blob
• 파일을 add 했을 때 생성
• 파일 내용이 들어있다.
* tree
• 파일을 commit 할 때 생성
• 한 디렉토리의 모든 파일 blob Id, 메타데
이터를 저장
• 파일 타입, 객체명, 파일명이 기록된다.
* commit
• 파일을 commit 할 때 생성
• 변경 사항에 대한 메타데이터를 가진다.
• tree 객체명, 부모 commit 객체명,
author, committer, message를 기록
* tag
• git tag 할 때 생성
• commit 객체명, tag 이름, tagger,
message가 기록된다.
https://github.com/git/git/blob/master/object.c
git의 이점 정리
성능
• 매우 가볍다. 잘 최적화 되어 있음
• 파일 내용 변경 사항에 집중, 추적
보안
• 파일 내용을 SHA1 해싱 알고리즘으로 보호
• 변경 실수, 악의적인 변경을 막고 추적 가능
유연성
• 다양한 워크플로우 지원, 호환성
Github
Github
git을 사용하는 프로젝트를 지원하는
웹 호스팅 서비스
가장 인기 있는 오픈 소스 코드 저장소
*오픈소스 : 제작자의 권리를 지키면서 소스 코드 열람, 수정,
배포 등이 가능. 완전 무료 X..
우리는 Github로 무엇을 해야할까?
자신의 프로젝트를 github에서 관리한다.
github로 협업 프로젝트 수행한다.
오픈 소스 코드를 뜯어본다.
나만의 포트폴리오로 만든다.
리스펙토링 세미나 - Git, Github 알아보기
facebook 같져?
= 소셜 코딩 서비스
요즘 기업들
github 주소 제출하라 하던데..
개발 선임자의 측면에서 이해
1. 프로필
2. 얼마나 많이 활동하는지
3. 무슨 프로젝트를 했는지
4. 무슨 언어가 주력인지
5. 협업 능력을 갖췄는지
6. 코드 스타일이 어떤지 등등
개발 활동에 대해
한 눈에 확인이 가능
(UI도 예쁘고 깔끔)
1) git을 사용한 협업 프로젝트 경험
2) github 열심히 관리
3) 지원서에 당당히 깃헙 주소 제출
세 줄 요약
Github로
소개페이지 배포하기
1.
Git Bash 설치
2.
Bootstrap Theme
3.
Github 저장소 생성
4.
git 명령어 따라해보기
5.
github.io URL 확인
문서를 깔끔하게 정리해주는
마크다운 Markdown (.md)
https://gist.github.com/ihoneymon/652be052a0727
ad59601
*가독성이 좋고, 간단한 구조의 문법을 사용하여
빠르게 컨텐츠를 작성할 수 있게 해주는 마크업 언어
(github의 readme.md)
배민 프론트개발 팀에서의
git workflow
http://woowabros.github.io/experience/2017/10/30/
baemin-mobile-git-branch-strategy.html
*실제로 git을 사용해 어떤 형식으로 협업 프로젝트를
진행하는지 맛 볼 수 있음
(우아한형제들 기술 블로그도
깃허브로 배포 된 듯)
git 더 알아보기 & 참조
빨간색 코딩 - http://sjh836.tistory.com/category/Git
git 간편 안내서 - https://rogerdudler.github.io/git-
guide/index.ko.html
완전 초보를 위한 깃허브 -
https://nolboo.kim/blog/2013/10/06/github-for-
beginner/
github에서 fork 및 pull request 해보기 –
https://www.xpressengine.com/devlog/22791272
git 깃허브 - https://github.com/git
git 원리 -
https://wayhome25.github.io/git/2017/04/02/git-
01-core/
git 객체 유형 및 구조 –
https://wayhome25.github.io/git/2017/04/02/git-
01-core/
what is git? -
https://www.atlassian.com/git/tutorials/what-is-git
프로 Git, Pro Git – 프로그래밍 도서 (도서관에서 빌림)
질문
&
스터디 조사
감사합니다.

More Related Content

PDF
[201808] GitHub 사용하기 - GIt & 협업 활용
PPTX
리스펙토링 5월 세미나, git과 github
PDF
GitHub로 프로젝트 운영하기
PDF
Github 사용법
PPTX
[PandoraCube] 오픈 소스와 깃허브
PPTX
Git로 협업하기
PDF
git 간단한 사용방법
PPTX
Git의 개념과 사용
[201808] GitHub 사용하기 - GIt & 협업 활용
리스펙토링 5월 세미나, git과 github
GitHub로 프로젝트 운영하기
Github 사용법
[PandoraCube] 오픈 소스와 깃허브
Git로 협업하기
git 간단한 사용방법
Git의 개념과 사용

What's hot (20)

PDF
Git 사용법 공유 + Unity3D with git
PDF
알아두면 쓸모있는 깃허브 1
PDF
버전관리시스템 종류와 소개
PPTX
git, git flow
 
PPTX
디자이너를위한Git #1/2
PPTX
GitHub 활용하기
PPTX
오픈소스 개발을 위한 Git 사용법 실습
PDF
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
PDF
제로부터시작하는Git
PPTX
Git 분산버전관리 시스템(1)
PDF
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
PDF
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
PDF
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
PDF
[기초] GIT 교육 자료
PDF
svn 능력자를 위한 git 개념 가이드
PDF
Git는 머꼬? GitHub는 또 머지?
PDF
Git tutorials
PDF
Github 으로 학교 팀 프로젝트 하기
PPTX
Hackers 퍼블리시팀 Git
PDF
Git 입문자를 위한 가이드
Git 사용법 공유 + Unity3D with git
알아두면 쓸모있는 깃허브 1
버전관리시스템 종류와 소개
git, git flow
 
디자이너를위한Git #1/2
GitHub 활용하기
오픈소스 개발을 위한 Git 사용법 실습
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
제로부터시작하는Git
Git 분산버전관리 시스템(1)
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
[기초] GIT 교육 자료
svn 능력자를 위한 git 개념 가이드
Git는 머꼬? GitHub는 또 머지?
Git tutorials
Github 으로 학교 팀 프로젝트 하기
Hackers 퍼블리시팀 Git
Git 입문자를 위한 가이드
Ad

Similar to 리스펙토링 세미나 - Git, Github 알아보기 (20)

PPTX
오픈소스GIS 개발 일반 강의자료
PDF
11. git basic
PPTX
Git lecture1
PPTX
PDF
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
PPTX
Git basic2 chaos
PDF
Git 코드랩 스터디 1
PDF
Git 기본개념과 사용법 그리고 어플리케이션
PDF
[17.02.09] Github introduction (Korean Version)
PDF
깃허브 시작하기
PDF
Why use git
PDF
Git & Github Seminar-1
PDF
제로부터시작하는 Git 두번째 이야기
PDF
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
PDF
Git Tutorial
PDF
소스트리(SourceTree)로 배우는 Git 사용법
PPTX
내 맘대로 이해한 오픈소스 소프트웨어
PDF
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
PDF
Git 강별
PPTX
Digging github
오픈소스GIS 개발 일반 강의자료
11. git basic
Git lecture1
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
Git basic2 chaos
Git 코드랩 스터디 1
Git 기본개념과 사용법 그리고 어플리케이션
[17.02.09] Github introduction (Korean Version)
깃허브 시작하기
Why use git
Git & Github Seminar-1
제로부터시작하는 Git 두번째 이야기
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
Git Tutorial
소스트리(SourceTree)로 배우는 Git 사용법
내 맘대로 이해한 오픈소스 소프트웨어
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
Git 강별
Digging github
Ad

리스펙토링 세미나 - Git, Github 알아보기

  • 2. 목차 Git 1. 깃? 2. 명령어 3. objects Github 1. 이건 또 뭐야? 2. Tip 3. 필요할까? 실습 1. 깃 설치 2. 깃 명령어 사용 3. 깃헙 페이지 배포
  • 3. Git
  • 4. Git = 버전 관리 시스템(VCS) 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템 (*Pro git 참조)
  • 5. Kakao Taxi V 1.0 V 2.0 V 3.0 1.1 1.2 1.3 Test.c main.c 1.1.1 error fixed.c Final.c *기존 관리 방식 : 로컬, 중앙 집중식
  • 6. 중앙 저장소 작업 파일 복사 작업 파일 복사 CVCS(중앙 집중식) • 프로젝트 관리자가 팀원들의 작업을 한 눈에 쉽게 관리가 가능 • 중앙 서버 고장 시 작업 불가, 백업 불가 등의 치명적인 문제 발생 DCVS(분산) • 중앙 저장소의 자료를 통째로 복사 해서 로컬에 저장하기 때문에 아무 거나 골라도 서버 복원 가능 • 다양한 그룹과 다양한 방법으로 협 업 활동이 가능 중앙 저장소 (*github) 원격 저장소 원격 저장소
  • 7. 그래서 버전관리, 저장소 복제, 저장, 협업은 어떻게 하나요..? => Git 명령어를 사용
  • 8. 오늘 알아볼 Git 명령어 • git clone : 다른 서버에 있는 저장소를 복제 • git init : 현재 작업환경에 새로운 빈 저장소 .git 폴더를 생성 • git add : git이 파일을 새로 추적 [임시 저장?] • git status : 파일의 상태를 확인 (untracked, unmodifed, modifed, staged) • git commit : 변경된 파일 내용, 정보들을 저장소에 기록 [스냅숏] • git remote : 원격 저장소 확인, 로컬환경과 연결 • git push : 연결된 원격 저장소에 커밋한 자료들을 전송 • git pull : 연결된 원격 저장소의 자료들을 로컬로 가져옴
  • 9. 다른 많은 git 명령어는 git에 익숙해지면서 천천히 찾아보기 *협업을 위해 branch(분기) 명령어를 꼭 익혀놓자 - 필수
  • 10. *git 흐름 (출처 : 초보몽키의 개발공부로그)
  • 11. 좀 더 git의 원리를 알기 위해 구조를 파헤치자면..
  • 12. ** Objects • 깃은 파일을 4가지의 object로 관리한다. • blob, tree, commit, tag • object 이름은 SHA1 해싱 알고리즘을 사용하여 영어,숫자 40자리로 만들어진다. • .git/objects/ 폴더에 위치 • git cat-file –p “객체명” 으로 내용 확인
  • 13. *git 구조 (출처 : 몽고랩)
  • 14. * blob • 파일을 add 했을 때 생성 • 파일 내용이 들어있다.
  • 15. * tree • 파일을 commit 할 때 생성 • 한 디렉토리의 모든 파일 blob Id, 메타데 이터를 저장 • 파일 타입, 객체명, 파일명이 기록된다.
  • 16. * commit • 파일을 commit 할 때 생성 • 변경 사항에 대한 메타데이터를 가진다. • tree 객체명, 부모 commit 객체명, author, committer, message를 기록
  • 17. * tag • git tag 할 때 생성 • commit 객체명, tag 이름, tagger, message가 기록된다.
  • 19. git의 이점 정리 성능 • 매우 가볍다. 잘 최적화 되어 있음 • 파일 내용 변경 사항에 집중, 추적 보안 • 파일 내용을 SHA1 해싱 알고리즘으로 보호 • 변경 실수, 악의적인 변경을 막고 추적 가능 유연성 • 다양한 워크플로우 지원, 호환성
  • 21. Github git을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스 가장 인기 있는 오픈 소스 코드 저장소 *오픈소스 : 제작자의 권리를 지키면서 소스 코드 열람, 수정, 배포 등이 가능. 완전 무료 X..
  • 23. 자신의 프로젝트를 github에서 관리한다. github로 협업 프로젝트 수행한다. 오픈 소스 코드를 뜯어본다. 나만의 포트폴리오로 만든다.
  • 25. facebook 같져? = 소셜 코딩 서비스
  • 26. 요즘 기업들 github 주소 제출하라 하던데..
  • 27. 개발 선임자의 측면에서 이해 1. 프로필 2. 얼마나 많이 활동하는지 3. 무슨 프로젝트를 했는지 4. 무슨 언어가 주력인지 5. 협업 능력을 갖췄는지 6. 코드 스타일이 어떤지 등등
  • 28. 개발 활동에 대해 한 눈에 확인이 가능 (UI도 예쁘고 깔끔)
  • 29. 1) git을 사용한 협업 프로젝트 경험 2) github 열심히 관리 3) 지원서에 당당히 깃헙 주소 제출 세 줄 요약
  • 36. 문서를 깔끔하게 정리해주는 마크다운 Markdown (.md) https://gist.github.com/ihoneymon/652be052a0727 ad59601 *가독성이 좋고, 간단한 구조의 문법을 사용하여 빠르게 컨텐츠를 작성할 수 있게 해주는 마크업 언어 (github의 readme.md)
  • 37. 배민 프론트개발 팀에서의 git workflow http://woowabros.github.io/experience/2017/10/30/ baemin-mobile-git-branch-strategy.html *실제로 git을 사용해 어떤 형식으로 협업 프로젝트를 진행하는지 맛 볼 수 있음 (우아한형제들 기술 블로그도 깃허브로 배포 된 듯)
  • 38. git 더 알아보기 & 참조 빨간색 코딩 - http://sjh836.tistory.com/category/Git git 간편 안내서 - https://rogerdudler.github.io/git- guide/index.ko.html 완전 초보를 위한 깃허브 - https://nolboo.kim/blog/2013/10/06/github-for- beginner/ github에서 fork 및 pull request 해보기 – https://www.xpressengine.com/devlog/22791272
  • 39. git 깃허브 - https://github.com/git git 원리 - https://wayhome25.github.io/git/2017/04/02/git- 01-core/ git 객체 유형 및 구조 – https://wayhome25.github.io/git/2017/04/02/git- 01-core/ what is git? - https://www.atlassian.com/git/tutorials/what-is-git 프로 Git, Pro Git – 프로그래밍 도서 (도서관에서 빌림)