deep-of-machine.log
로그인
deep-of-machine.log
로그인
[Open Source Software] - Git (VSC, Git, Github)
서현이의 개발 기록장
·
2022년 10월 27일
팔로우
0
Open Source Software
0
Open Source Programming
목록 보기
5/5
VCS(Version Control System)
버전 관리 시스템의 필요성
인원이 많을 수록 프로젝트 기간이 길어질수록 최종 업데이트 파일을 확인하기 어려워진다
로컬 버전 관리 (VCS)
Patch set (파일 변경 부분) 관리 - 모든 파일을 특정 시점으로 되돌릴 수 있음
중앙 집중식 버전 관리 (CVCS, Centralized Version Control System)
파일 관리 서버 존재 - 클라이언트가 중앙 서버에서 파일을 받아 사용
서버에 문제가 발생했을 때 복구가 힘들고, 작업 재개에 오랜 시간이 소요 됨
오프라인 상태에서 작업하기 힘듦
분산 버전 관리 (DVCS, Distributed Version Control System)
서버 뿐만 아니라 개발자들도 History를 보관
저장소를 History와 더불어 전부 복제 - Remote Repository(원격 저장소) 존재
CVCS 단점 보완
Git, Mercurial, Darcs 등
Git과 기존 CVS의 차이
기존 CVS의 경우 델타 베이스로 구성 (변경된 내용만 보관)
Git은 프로젝트 전체 내용을 스냅 샷으로 보관
각각의 스냅 샷은 변경되지 않은 파일에 대한 예전 링크를 가진다. (가볍고 빠르다)
Git
여러 개발 PC와 저장소에 분산해서 저장
컴퓨터에 있는 대부분의 파일을 Git으로 관리하는 것이 가능
특징
코드를 저장하거나 저장 시점으로 되돌아 갈 수 있게 해주는 시스템
가장 많이 사용
무료/ 오픈소스
빠르며 오프라인 작업 가능
실수 고치기 쉬움
쉽고 빠른 브랜치를 이용해서 각각의 기능별로 브랜치를 만들어 효율적인 협업이 가능
무엇보다 개인의 포트폴리오를 관리할 수 있음 (자기 PR)
Git 설치
// Linux
~$ sudo apt update ~$ sudo apt install git ~$ git
// Windows
->
다운로드
스테이징 (Staging)
작업 디렉터리(Working Directory)의 파일을 스테이지 영역으로 전달 (Index)
커밋할 파일들을 선택해서 모아두는 장소 (Stage Area)
“git add” 명령 사용
커밋 (Commit)
“소프트웨어 버전“ 또는 “버전 만들기"로 이해
스테이지 영역의 파일을 로컬 저장소(.git)으로 전달
파일의 이력 (내용, 이유 등)을 추적하기 쉽도록 상세 설명을 추가할 수 있다
현재 커밋을 가리키는 HEAD 생성
“git commit” 명령 사용
서현이의 개발 기록장
HanYang ERICA Univ. Department of Artificial Intelligence
팔로우
이전 포스트
[Open Source Software] - 가상화 (Hypervisor, Linux Container, Docker)
0개의 댓글
댓글 작성