SlideShare a Scribd company logo
1 of 23
연세대학교 전기전자공학부 이형민
GIT
with command
MVP Seminar
Index 01 / Version Control System
02 / Preparations
03 / Basics of Git
04 / Branch
05 / Github
Version Control System
버전 관리는 왜 하는가?
01 Version Control
Your Version Control
버전 관리 시스템
 결과물의 이름을 더럽히지 않고 버전 관리를 할 수 있다.
01 Version Control
Team Projects
01 Version Control
Github Upload & Download
Preparations
준비물
02 Preparations
Git
https://git-scm.com/
Basics of GIT
저장소 생성, 버전 커밋하기
03 Basics of GIT
Before Starting GIT…
• git config --global user.name <이름>
• git config --global user.email <이메일 주소>
• Git의 각 버전이 누구에 의해 업데이트 되었는지에 대한 정보.
• Git을 설치한 후 한 번만 해주면 된다.
03 Basics of GIT
Flow of Version Control
• git init  현재 디렉토리를 Git에게 버전관리하도록 맡긴다.
• git status  저장소의 파일 변경 상태, stage 상태 등을 확인할 수 있다.
• git add <파일 명> 해당 파일을 버전으로 등록하기 위해 Stage 한다.
• git commit  현재 Stage에 있는 변경사항들을 새 버전으로 등록한다.
• git log  현재까지의 버전 목록을 볼 수 있다.
03 Basics of GIT
Additional Tips
• git add --all 모든 파일을 add한다.
• git commit –m “커밋메시지” vim 에디터 없이 commit message를 작성할
수 있다.
• git commit –a  Add와 Commit을 한꺼번에 한다.(단, 한 번 이상 Add 됐었
던 파일들만 가능하다.)
03 Basics of GIT
과거 버전으로 되돌아가기
• git reset “커밋 ID” --hard  해당 버전으로 돌아가고, 그 사이에 있던 버전
들을 전부 삭제한다.
• 한 번 reset을 통해 삭제한 버전들은 되돌리기가 쉽지 않다. 신중히 하도록
하자.
• Github 등을 통해 협업을 하고 있는 상황이라면, reset은 절대 하지 말아야
한다.
Branch
GIT의 강력한 기능
04 Branch
Branch??
• 프로젝트가 동시에 ‘여러 개의 최신 버전’을 가져야 할 경우 쓰인다.
Ex)
• 연구용 버전을 개발하면서 고객 배포용 버전을 만들어야 하는 경우
• 큰 줄기는 건드리지 않으면서, 실험적인 작업을 시행해보고 싶을 경우
• 삭제될 확률이 큰 기능을 추가하는 경우
04 Branch
Branch Command
• git branch  현재 존재하는 branch 목록과 현재 어느 branch에 있는지 알
려준다.
• git branch <브랜치 이름>  branc를 생성한다.
• git checkout <브랜치 이름>  해당 branch로 이동한다.
• git branch –d <브랜치 이름>  해당 branch를 삭제한다.
• git log --branches --decorate --graph  branch의 모습을 함께 log에 표현
한다.
• git log --branches --decorate –graph --oneline  간단하게 branch의 모습
만 한눈에 볼 수 있다.
04 Branch
Merge
• 서로 다른 두 branch를 하나로 통합한다.
• 두 branch에서 프로젝트의 서로 다른 부분을 수정한 상태라면 두 수정사항
이 ‘정말 기가 막히게’ 잘 통합된다.
• 두 branch에서 서로 같은 부분을 다르게 수정한 상태라면, 충돌 발생. 충돌
해결 방법은 뒤에서 살펴볼 것이다.
04 Branch
Merge Command
• Merge는 대칭적인 통합이 아니라, 한 branch가 다른 branch를 흡수하게 하
는 작업이다.
• 흡수할 주체가 될 branch로 checkout한 상태에서 Command를 진행해야 한
다.
• git merge <흡수 대상 브랜치 이름>  Branch를 merge한다.
04 Branch
Merge의 종류
• Fastforward
 Branch 분기가 일어난 이후로 한 쪽 branch의 프로젝트만 진행된 경우
 Merge를 할 경우 흡수의 주체는 그냥 흡수 대상 branch를 그대로
follow-up 한다.
 별도의 Commit이 발생하지 않는다.
• Recursive
 Branch 분기 이후에 두 branch 모두 나름대로의 프로젝트 진행이 발생
한 경우.
 두 branch의 내용을 잘 통합하여 새로운 버전을 만든다.
 Merge Commit이라는 별도의 Commit이 자동으로 발생한다.
04 Branch
Conflict
• 충돌이 발생한 부분은 위와 같은 메시지로 채워지게 된다.
• 충돌을 수동으로 해결해 주고 나서, 다시 Commit을 해주면 해결 된다.
Github
개발자들의 SNS
05 Github
Github
 https://github.com/
• git remote add origin https://github.com/[본인 ID]/[저장소 이름].git
현재 저장소를 Github Remote 저장소와 연결시킨다.
• git push –u origin master
마지막으로 Commit 된 버전을 Github에 처음 업로드한다.
• git push
일단 처음 업로드 되면, 그 후에는 이 방법으로 push하면 된다.
• git remote –v
현재 이 저장소에 연결된 github 저장소 목록을 확인한다.
• git remote rm origin
github와의 연결고리를 제거한다.(신중히!!)
감사합니다.
Q & A

More Related Content

What's hot

Svn server 설치(명준민_2015.07.10)
Svn server 설치(명준민_2015.07.10)Svn server 설치(명준민_2015.07.10)
Svn server 설치(명준민_2015.07.10)준민 명
 
Git server 구축(git olite,gitweb)
Git server 구축(git olite,gitweb)Git server 구축(git olite,gitweb)
Git server 구축(git olite,gitweb)진혁 박
 
Svn 버전관리 프로그램_매뉴얼
Svn 버전관리 프로그램_매뉴얼Svn 버전관리 프로그램_매뉴얼
Svn 버전관리 프로그램_매뉴얼jeongseokoh
 
최신 OpenShift 4.5 버전 소개와 주요 특징
최신 OpenShift 4.5 버전 소개와 주요 특징최신 OpenShift 4.5 버전 소개와 주요 특징
최신 OpenShift 4.5 버전 소개와 주요 특징Opennaru, inc.
 
이클립스로 GIT 사용하기
이클립스로 GIT 사용하기이클립스로 GIT 사용하기
이클립스로 GIT 사용하기우영 주
 
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleBackend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleKyunghun Jeon
 
How to use Github? (For Cien)
How to use Github? (For Cien)How to use Github? (For Cien)
How to use Github? (For Cien)민수 김
 
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Youngbin Han
 
네이버 SVN 설치
네이버 SVN 설치네이버 SVN 설치
네이버 SVN 설치Hyunmin Park
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
Svn 사용하기
Svn 사용하기Svn 사용하기
Svn 사용하기Jung-Ho Kim
 
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법MinGeun Park
 

What's hot (20)

Svn server 설치(명준민_2015.07.10)
Svn server 설치(명준민_2015.07.10)Svn server 설치(명준민_2015.07.10)
Svn server 설치(명준민_2015.07.10)
 
Subversion
SubversionSubversion
Subversion
 
Gitflow ppt
Gitflow pptGitflow ppt
Gitflow ppt
 
Git server 구축(git olite,gitweb)
Git server 구축(git olite,gitweb)Git server 구축(git olite,gitweb)
Git server 구축(git olite,gitweb)
 
githubaction
githubactiongithubaction
githubaction
 
Angular Library
Angular LibraryAngular Library
Angular Library
 
Svn
SvnSvn
Svn
 
Svn
SvnSvn
Svn
 
Svn 버전관리 프로그램_매뉴얼
Svn 버전관리 프로그램_매뉴얼Svn 버전관리 프로그램_매뉴얼
Svn 버전관리 프로그램_매뉴얼
 
최신 OpenShift 4.5 버전 소개와 주요 특징
최신 OpenShift 4.5 버전 소개와 주요 특징최신 OpenShift 4.5 버전 소개와 주요 특징
최신 OpenShift 4.5 버전 소개와 주요 특징
 
이클립스로 GIT 사용하기
이클립스로 GIT 사용하기이클립스로 GIT 사용하기
이클립스로 GIT 사용하기
 
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleBackend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
 
How to use Github? (For Cien)
How to use Github? (For Cien)How to use Github? (For Cien)
How to use Github? (For Cien)
 
git-workflow
git-workflowgit-workflow
git-workflow
 
Git flow
Git flowGit flow
Git flow
 
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
 
네이버 SVN 설치
네이버 SVN 설치네이버 SVN 설치
네이버 SVN 설치
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
Svn 사용하기
Svn 사용하기Svn 사용하기
Svn 사용하기
 
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
 

Similar to Git command

Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - TwoseedGit의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - TwoseedAtlassian 대한민국
 
About Git_2017.08.31 aug 투씨드 (박재석)
About Git_2017.08.31 aug 투씨드 (박재석)About Git_2017.08.31 aug 투씨드 (박재석)
About Git_2017.08.31 aug 투씨드 (박재석)Jaeseok Park
 
Git Tutorial
Git TutorialGit Tutorial
Git TutorialMDLicht
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습BJ Jang
 
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2sangyun han
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법주형 고
 
Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Dabi Ahn
 
git, 이해부터 활용까지
git, 이해부터 활용까지git, 이해부터 활용까지
git, 이해부터 활용까지jylee1229
 
[기초] GIT 교육 자료
[기초] GIT 교육 자료[기초] GIT 교육 자료
[기초] GIT 교육 자료JUNPIL PARK
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료BJ Jang
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubJunyoung Lee
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)Ildoo Kim
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기CONNECT FOUNDATION
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드Insub Lee
 
Git: A Motivating Introduction
Git: A Motivating IntroductionGit: A Motivating Introduction
Git: A Motivating IntroductionJongwook Choi
 
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축SooHyunsuPark
 

Similar to Git command (20)

Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - TwoseedGit의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
 
About Git_2017.08.31 aug 투씨드 (박재석)
About Git_2017.08.31 aug 투씨드 (박재석)About Git_2017.08.31 aug 투씨드 (박재석)
About Git_2017.08.31 aug 투씨드 (박재석)
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2
 
Git
GitGit
Git
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법
 
Git
GitGit
Git
 
Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션
 
Git 기본
Git 기본Git 기본
Git 기본
 
git, 이해부터 활용까지
git, 이해부터 활용까지git, 이해부터 활용까지
git, 이해부터 활용까지
 
[기초] GIT 교육 자료
[기초] GIT 교육 자료[기초] GIT 교육 자료
[기초] GIT 교육 자료
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료
 
11. git basic
11. git basic11. git basic
11. git basic
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
 
Git: A Motivating Introduction
Git: A Motivating IntroductionGit: A Motivating Introduction
Git: A Motivating Introduction
 
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
 

More from Hyeongmin Lee

PR-455: CoTracker: It is Better to Track Together
PR-455: CoTracker: It is Better to Track TogetherPR-455: CoTracker: It is Better to Track Together
PR-455: CoTracker: It is Better to Track TogetherHyeongmin Lee
 
PR-430: CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retri...
PR-430: CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retri...PR-430: CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retri...
PR-430: CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retri...Hyeongmin Lee
 
PR-420: Scalable Model Compression by Entropy Penalized Reparameterization
PR-420: Scalable Model Compression by Entropy Penalized ReparameterizationPR-420: Scalable Model Compression by Entropy Penalized Reparameterization
PR-420: Scalable Model Compression by Entropy Penalized ReparameterizationHyeongmin Lee
 
PR-409: Denoising Diffusion Probabilistic Models
PR-409: Denoising Diffusion Probabilistic ModelsPR-409: Denoising Diffusion Probabilistic Models
PR-409: Denoising Diffusion Probabilistic ModelsHyeongmin Lee
 
PR-395: Variational Image Compression with a Scale Hyperprior
PR-395: Variational Image Compression with a Scale HyperpriorPR-395: Variational Image Compression with a Scale Hyperprior
PR-395: Variational Image Compression with a Scale HyperpriorHyeongmin Lee
 
PR-386: Light Field Networks: Neural Scene Representations with Single-Evalua...
PR-386: Light Field Networks: Neural Scene Representations with Single-Evalua...PR-386: Light Field Networks: Neural Scene Representations with Single-Evalua...
PR-386: Light Field Networks: Neural Scene Representations with Single-Evalua...Hyeongmin Lee
 
PR-376: Softmax Splatting for Video Frame Interpolation
PR-376: Softmax Splatting for Video Frame InterpolationPR-376: Softmax Splatting for Video Frame Interpolation
PR-376: Softmax Splatting for Video Frame InterpolationHyeongmin Lee
 
PR-365: Fast object detection in compressed video
PR-365: Fast object detection in compressed videoPR-365: Fast object detection in compressed video
PR-365: Fast object detection in compressed videoHyeongmin Lee
 
PR-340: DVC: An End-to-end Deep Video Compression Framework
PR-340: DVC: An End-to-end Deep Video Compression FrameworkPR-340: DVC: An End-to-end Deep Video Compression Framework
PR-340: DVC: An End-to-end Deep Video Compression FrameworkHyeongmin Lee
 
PR-328: End-to-End Optimized Image Compression
PR-328: End-to-End OptimizedImage CompressionPR-328: End-to-End OptimizedImage Compression
PR-328: End-to-End Optimized Image CompressionHyeongmin Lee
 
PR-315: Taming Transformers for High-Resolution Image Synthesis
PR-315: Taming Transformers for High-Resolution Image SynthesisPR-315: Taming Transformers for High-Resolution Image Synthesis
PR-315: Taming Transformers for High-Resolution Image SynthesisHyeongmin Lee
 
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View SynthesisPR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View SynthesisHyeongmin Lee
 
PR-278: RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
PR-278: RAFT: Recurrent All-Pairs Field Transforms for Optical FlowPR-278: RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
PR-278: RAFT: Recurrent All-Pairs Field Transforms for Optical FlowHyeongmin Lee
 
PR-252: Making Convolutional Networks Shift-Invariant Again
PR-252: Making Convolutional Networks Shift-Invariant AgainPR-252: Making Convolutional Networks Shift-Invariant Again
PR-252: Making Convolutional Networks Shift-Invariant AgainHyeongmin Lee
 
PR-240: Modulating Image Restoration with Continual Levels via Adaptive Featu...
PR-240: Modulating Image Restoration with Continual Levels viaAdaptive Featu...PR-240: Modulating Image Restoration with Continual Levels viaAdaptive Featu...
PR-240: Modulating Image Restoration with Continual Levels via Adaptive Featu...Hyeongmin Lee
 
PR-228: Geonet: Unsupervised learning of dense depth, optical flow and camera...
PR-228: Geonet: Unsupervised learning of dense depth, optical flow and camera...PR-228: Geonet: Unsupervised learning of dense depth, optical flow and camera...
PR-228: Geonet: Unsupervised learning of dense depth, optical flow and camera...Hyeongmin Lee
 
PR-214: FlowNet: Learning Optical Flow with Convolutional Networks
PR-214: FlowNet: Learning Optical Flow with Convolutional NetworksPR-214: FlowNet: Learning Optical Flow with Convolutional Networks
PR-214: FlowNet: Learning Optical Flow with Convolutional NetworksHyeongmin Lee
 
[PR12] Making Convolutional Networks Shift-Invariant Again
[PR12] Making Convolutional Networks Shift-Invariant Again[PR12] Making Convolutional Networks Shift-Invariant Again
[PR12] Making Convolutional Networks Shift-Invariant AgainHyeongmin Lee
 
Latest Frame interpolation Algorithms
Latest Frame interpolation AlgorithmsLatest Frame interpolation Algorithms
Latest Frame interpolation AlgorithmsHyeongmin Lee
 

More from Hyeongmin Lee (20)

PR-455: CoTracker: It is Better to Track Together
PR-455: CoTracker: It is Better to Track TogetherPR-455: CoTracker: It is Better to Track Together
PR-455: CoTracker: It is Better to Track Together
 
PR-430: CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retri...
PR-430: CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retri...PR-430: CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retri...
PR-430: CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retri...
 
PR-420: Scalable Model Compression by Entropy Penalized Reparameterization
PR-420: Scalable Model Compression by Entropy Penalized ReparameterizationPR-420: Scalable Model Compression by Entropy Penalized Reparameterization
PR-420: Scalable Model Compression by Entropy Penalized Reparameterization
 
PR-409: Denoising Diffusion Probabilistic Models
PR-409: Denoising Diffusion Probabilistic ModelsPR-409: Denoising Diffusion Probabilistic Models
PR-409: Denoising Diffusion Probabilistic Models
 
PR-395: Variational Image Compression with a Scale Hyperprior
PR-395: Variational Image Compression with a Scale HyperpriorPR-395: Variational Image Compression with a Scale Hyperprior
PR-395: Variational Image Compression with a Scale Hyperprior
 
PR-386: Light Field Networks: Neural Scene Representations with Single-Evalua...
PR-386: Light Field Networks: Neural Scene Representations with Single-Evalua...PR-386: Light Field Networks: Neural Scene Representations with Single-Evalua...
PR-386: Light Field Networks: Neural Scene Representations with Single-Evalua...
 
PR-376: Softmax Splatting for Video Frame Interpolation
PR-376: Softmax Splatting for Video Frame InterpolationPR-376: Softmax Splatting for Video Frame Interpolation
PR-376: Softmax Splatting for Video Frame Interpolation
 
PR-365: Fast object detection in compressed video
PR-365: Fast object detection in compressed videoPR-365: Fast object detection in compressed video
PR-365: Fast object detection in compressed video
 
PR-340: DVC: An End-to-end Deep Video Compression Framework
PR-340: DVC: An End-to-end Deep Video Compression FrameworkPR-340: DVC: An End-to-end Deep Video Compression Framework
PR-340: DVC: An End-to-end Deep Video Compression Framework
 
PR-328: End-to-End Optimized Image Compression
PR-328: End-to-End OptimizedImage CompressionPR-328: End-to-End OptimizedImage Compression
PR-328: End-to-End Optimized Image Compression
 
PR-315: Taming Transformers for High-Resolution Image Synthesis
PR-315: Taming Transformers for High-Resolution Image SynthesisPR-315: Taming Transformers for High-Resolution Image Synthesis
PR-315: Taming Transformers for High-Resolution Image Synthesis
 
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View SynthesisPR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
 
PR-278: RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
PR-278: RAFT: Recurrent All-Pairs Field Transforms for Optical FlowPR-278: RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
PR-278: RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
 
Pr266
Pr266Pr266
Pr266
 
PR-252: Making Convolutional Networks Shift-Invariant Again
PR-252: Making Convolutional Networks Shift-Invariant AgainPR-252: Making Convolutional Networks Shift-Invariant Again
PR-252: Making Convolutional Networks Shift-Invariant Again
 
PR-240: Modulating Image Restoration with Continual Levels via Adaptive Featu...
PR-240: Modulating Image Restoration with Continual Levels viaAdaptive Featu...PR-240: Modulating Image Restoration with Continual Levels viaAdaptive Featu...
PR-240: Modulating Image Restoration with Continual Levels via Adaptive Featu...
 
PR-228: Geonet: Unsupervised learning of dense depth, optical flow and camera...
PR-228: Geonet: Unsupervised learning of dense depth, optical flow and camera...PR-228: Geonet: Unsupervised learning of dense depth, optical flow and camera...
PR-228: Geonet: Unsupervised learning of dense depth, optical flow and camera...
 
PR-214: FlowNet: Learning Optical Flow with Convolutional Networks
PR-214: FlowNet: Learning Optical Flow with Convolutional NetworksPR-214: FlowNet: Learning Optical Flow with Convolutional Networks
PR-214: FlowNet: Learning Optical Flow with Convolutional Networks
 
[PR12] Making Convolutional Networks Shift-Invariant Again
[PR12] Making Convolutional Networks Shift-Invariant Again[PR12] Making Convolutional Networks Shift-Invariant Again
[PR12] Making Convolutional Networks Shift-Invariant Again
 
Latest Frame interpolation Algorithms
Latest Frame interpolation AlgorithmsLatest Frame interpolation Algorithms
Latest Frame interpolation Algorithms
 

Git command

  • 2. Index 01 / Version Control System 02 / Preparations 03 / Basics of Git 04 / Branch 05 / Github
  • 3. Version Control System 버전 관리는 왜 하는가?
  • 4. 01 Version Control Your Version Control 버전 관리 시스템  결과물의 이름을 더럽히지 않고 버전 관리를 할 수 있다.
  • 6. 01 Version Control Github Upload & Download
  • 9. Basics of GIT 저장소 생성, 버전 커밋하기
  • 10. 03 Basics of GIT Before Starting GIT… • git config --global user.name <이름> • git config --global user.email <이메일 주소> • Git의 각 버전이 누구에 의해 업데이트 되었는지에 대한 정보. • Git을 설치한 후 한 번만 해주면 된다.
  • 11. 03 Basics of GIT Flow of Version Control • git init  현재 디렉토리를 Git에게 버전관리하도록 맡긴다. • git status  저장소의 파일 변경 상태, stage 상태 등을 확인할 수 있다. • git add <파일 명> 해당 파일을 버전으로 등록하기 위해 Stage 한다. • git commit  현재 Stage에 있는 변경사항들을 새 버전으로 등록한다. • git log  현재까지의 버전 목록을 볼 수 있다.
  • 12. 03 Basics of GIT Additional Tips • git add --all 모든 파일을 add한다. • git commit –m “커밋메시지” vim 에디터 없이 commit message를 작성할 수 있다. • git commit –a  Add와 Commit을 한꺼번에 한다.(단, 한 번 이상 Add 됐었 던 파일들만 가능하다.)
  • 13. 03 Basics of GIT 과거 버전으로 되돌아가기 • git reset “커밋 ID” --hard  해당 버전으로 돌아가고, 그 사이에 있던 버전 들을 전부 삭제한다. • 한 번 reset을 통해 삭제한 버전들은 되돌리기가 쉽지 않다. 신중히 하도록 하자. • Github 등을 통해 협업을 하고 있는 상황이라면, reset은 절대 하지 말아야 한다.
  • 15. 04 Branch Branch?? • 프로젝트가 동시에 ‘여러 개의 최신 버전’을 가져야 할 경우 쓰인다. Ex) • 연구용 버전을 개발하면서 고객 배포용 버전을 만들어야 하는 경우 • 큰 줄기는 건드리지 않으면서, 실험적인 작업을 시행해보고 싶을 경우 • 삭제될 확률이 큰 기능을 추가하는 경우
  • 16. 04 Branch Branch Command • git branch  현재 존재하는 branch 목록과 현재 어느 branch에 있는지 알 려준다. • git branch <브랜치 이름>  branc를 생성한다. • git checkout <브랜치 이름>  해당 branch로 이동한다. • git branch –d <브랜치 이름>  해당 branch를 삭제한다. • git log --branches --decorate --graph  branch의 모습을 함께 log에 표현 한다. • git log --branches --decorate –graph --oneline  간단하게 branch의 모습 만 한눈에 볼 수 있다.
  • 17. 04 Branch Merge • 서로 다른 두 branch를 하나로 통합한다. • 두 branch에서 프로젝트의 서로 다른 부분을 수정한 상태라면 두 수정사항 이 ‘정말 기가 막히게’ 잘 통합된다. • 두 branch에서 서로 같은 부분을 다르게 수정한 상태라면, 충돌 발생. 충돌 해결 방법은 뒤에서 살펴볼 것이다.
  • 18. 04 Branch Merge Command • Merge는 대칭적인 통합이 아니라, 한 branch가 다른 branch를 흡수하게 하 는 작업이다. • 흡수할 주체가 될 branch로 checkout한 상태에서 Command를 진행해야 한 다. • git merge <흡수 대상 브랜치 이름>  Branch를 merge한다.
  • 19. 04 Branch Merge의 종류 • Fastforward  Branch 분기가 일어난 이후로 한 쪽 branch의 프로젝트만 진행된 경우  Merge를 할 경우 흡수의 주체는 그냥 흡수 대상 branch를 그대로 follow-up 한다.  별도의 Commit이 발생하지 않는다. • Recursive  Branch 분기 이후에 두 branch 모두 나름대로의 프로젝트 진행이 발생 한 경우.  두 branch의 내용을 잘 통합하여 새로운 버전을 만든다.  Merge Commit이라는 별도의 Commit이 자동으로 발생한다.
  • 20. 04 Branch Conflict • 충돌이 발생한 부분은 위와 같은 메시지로 채워지게 된다. • 충돌을 수동으로 해결해 주고 나서, 다시 Commit을 해주면 해결 된다.
  • 22. 05 Github Github  https://github.com/ • git remote add origin https://github.com/[본인 ID]/[저장소 이름].git 현재 저장소를 Github Remote 저장소와 연결시킨다. • git push –u origin master 마지막으로 Commit 된 버전을 Github에 처음 업로드한다. • git push 일단 처음 업로드 되면, 그 후에는 이 방법으로 push하면 된다. • git remote –v 현재 이 저장소에 연결된 github 저장소 목록을 확인한다. • git remote rm origin github와의 연결고리를 제거한다.(신중히!!)

Editor's Notes

  1. 이번 세미나는 GIT를 Command Line을 이용하여 제어하는 방법을 다룹니다. GUI 방식을 이용하는 Source Tree 강의는 연구실 홈페이지에 올라와 있습니다.
  2. 협업을 용이하게 한다.
  3. Github에 자신의 코드를 업로드할 수 있다. 또한 다운 받는 데에도 Git에 대한 지식이 도움이 된다.
  4. Git: 버전 관리 시스템의 한 종류. Sublime Text: 개발자들을 위한 텍스트 에디터이다. 컴파일 기능은 없지만 굉장히 많은 언어에 맞춰 색을 입힌 코드를 보여준다.
  5. 모든 변화를 버전이라고 부르지는 않는다. Stage는 기차라고 할 수 있으며, 변화들이 충분히 기차에 탑승한 후에 Repository로 떠나게 되는 느낌.
  6. 여기서 실습 ㄱㄱ
  7. 실습 ㄱㄱ
  8. 실습 ㄱㄱ
  9. 실습 ㄱㄱ