Git Codelab
Study
첫번째 시간
2018. 05. 26
S.B.Jang
대상
'GIT을 이론보다 실습으로 익히고 싶다'하는 개발자
"본 스터디는 CLI로 진행됩니다"
다룰 주제들
GIT
Github
Markdown (GFM)
git-flow
pull request
최종 목표
Github를 이용하여 협업
(= 함께 코드 작성하고 관리하기!)
GIT 설치하기
공식 홈페이지 ( https://git-scm.com/ )
Window
MacOSX
// Linux는 패키지 매니저
sudo apt install git , yum install git , ...
마크다운
다운받고 설치하는 동안...
마크다운에 대해 알아보자
● 텍스트 기반의 마크업 언어입니다.
● HTML 처럼 문서의 텍스트를 꾸밀 수 있습니다
● 배우기 매우 쉽습니다.
● 어쨋거나 생각보다 많이 쓰입니다!
○ 대부분의 위키에서 기본 문서 편집용으로 쓰임
○ Github의 첫페이지 장식용(?!)
○ 슬랙, 트렐로에도 사용 가능
● HTML비해 꾸밀수 있는 방법이 제한적
다운받고 설치하는 동안...
마크다운 편집기
여러가지가 있지만~~
github에서 만든 ATOM 에디터로 진행(했으면...)
온라인 에디터
마크다운 문법 (1)
#, ##, ###, ~ , ###### (6개까지)
=> 대제목, 소제목, ... html의 <h1>~ 태그에 대응
*기울림꼴*, **굵게강조**, _기울림꼴_, __굵게강조__
=> 문자 중간에 강조, *와 _역할은 동일
(Q.굵으면서 기울림체를 할려면?)
~~취소선~~
=> 글자 가운데 선을 하나 그어줍니다
#, ##, ###, ~ , ###### (6개까지)
*기울림꼴*, **굵게강조**, _기울림꼴_, __굵게강조__, ~~취소선~~
마크다운 문법 (2)
`code`
=> 코드를 강조 합니다. 단축키 같은 것을 표시하는데도 많이 쓰입니다.
```[언어]
(여러줄 코드)
```[언어]
=> 여러줄에 걸쳐 소스코드를 작성할 수 있고 [언어]부분을 작성하면 해당언어로
구문을 강조해 줍니다. (지원 언어 목록)
*기울림꼴*, **굵게강조**, _기울림꼴_, __굵게강조__, ~~취소선~~
마크다운 문법 (3)
[링크걸기](http://sbsoft.kr)
=> 그냥 http:// 또는 https://를 감지하면 자동으로 걸리기도 하지만 주소가 길면?
![이미지설명](http://IMAGE_URL)
=> 링크를 거는 방법과 유사하며 !를 맨앞에 사용하면 됩니다.
> 참고자료
=> 블록쿼티, 부연설명이나 참고자료 같은 것을 포함할때 많이 사용합니다.
*기울림꼴*, **굵게강조**, _기울림꼴_, __굵게강조__, ~~취소선~~
GFM (Github Flavored Markdown)
github 사이트에서 사용 가능한 전용 마크다운 문법
가이드 바로가기
다양한 프로그래밍 언어 강조가 가능함!!
GIT
버전 관리 개요
프로젝트.pptx
프로젝트_마지막.pptx
프로젝트_마지막_최종.pptx
프로젝트_마지막_최종_final.pptx
...
버전 관리 개요
프로젝트.pptx
프로젝트_마지막.pptx
프로젝트_마지막_최종.pptx
프로젝트_마지막_최종_final.pptx
...
프로젝트.pptx
ㅇ 한개의 파일로 관리
ㅇ 바뀐 부분의 내용만 저장
ㅇ 이전 저장 내용으로 복구 기능
+ 여러명이 함께...
GIT의 기본 개념 & (로컬 버전관리) 기본 명령어
Working
Directory
Index /
Staging Area
Local
Repository
Remote
Repository
add
commit
push
status
(상태확인)
init
reset --hard
log
(커밋 목록)
작업 영역
(Working Directory)
로컬 저장소
(Local Repository)
원격 저장소
(Remote Repository)
깃허브
비트버킷
깃랩
Staging
Area?
Working Directory 개념
작업 디렉토리 or 작업 영역
= .git 디렉토리를 가지고 있는 상위 디렉토리
= git init 을 한 디렉토리
= git clone으로 다운 받아진 디렉토리
Repository 개념
우리가 GIT에게 소스를 보내면 GIT이 소스파일을 저장하고 관리하는 공간
크게 2가지로 나뉨 (로컬, 원격)
(SVN 유저들이 GIT으로 넘어올때 가장 힘든 장벽)
로컬 저장소 = .git 디렉토리 안쪽
원격 저장소 = github, gitlab, bitbucket 등의 서비스에서 소스 저장 공간
Index / Staging Area 개념
도서에서 Index = 목차
버전을 관리할 파일 목록이나 리스트
준비영역 Staging Area
작업 디렉토리에서 commit하기 전에 내용을 잠시 저장해두는 버퍼같은 역할
실습 (CodeLab)
로컬 저장소 만들기 - git init
작업 영역의 상태 확인 명령어 - git status
습관적으로 쳐봐야 하는
명령어
작업 디렉토리에 편집기로 파일을 하나 만듭니다.
이름은 readme.md로 만듭니다.
텍스트 에디터로 마크다운 문법을 활용하여
다음과 같은 [내용]으로 작성합니다.
(각 항목을 자신이 이해한 설명으로.. 채워넣기!)
버전 관리 파일 추가 명령어 - git add
git add readme.md (또는 git add . )
로컬 저장소에 저장하기(커밋 스냅샷) - git commit
내용을 추가해서 다시한번 add & commit
readme.md 파일을 텍스트 에디터로 다시 열어서
다음과 같이 [내용]을 추가합니다.
Working
Directory
Index /
Staging Area
Local
Repository
add
commit
status
(상태확인)
init
reset
log
(커밋 목록)
add는 버전관리 대상에 추가하는 역할과 함께
커밋 준비영역(Staging Area)에 등록하는 역할을 합니다(?)
준비 영역 (Staging Area)
커밋 목록 보기 명령어 git log
되돌리기 기능
일단 커밋 목록 확인
되돌릴 커밋명
(강제) 되돌리기 명령어 git reset --hard
잘못된 내용이 없어지고 2번째 커밋했던 상태로
돌아갑니다
(번외) 이해 돕기
git commit : 게임에서 저장하기
git log : 게임에서 저장한 목록 보기
git reset --hard [커밋명] : 게임에서 저장한 지점 불러오기
(tip) git reset [커밋명] [파일명]으로 파일 단위로 되돌릴수도 있음
Github 가입 하기
원격 저장소에 업로드를
위해
원격 저장소
원격 저장소 추가하기 - git remote add
git remote add [원격저장소명] [저장소주소]
원격 저장소 업로드(저장)하기 - git push
git push [원격저장소명] [브런치명]
# 주의 : 전역 설정이 필요할 수도 있습니다.
git config --global user.name "이름(닉네임)"
git config --global user.email "메일주소"
> github 가입할때 사용한 name과 email을 사용하면 좋습니다
수고하셨습니다!

Git 코드랩 스터디 1