이번 포스팅에서 다루는 간단한 git 관련 개념
git 사용 이유, git vs github,
pull, push, add, commit, merge, branch, master branch, 주요 작업(명령어) 프로세스
git은 학교다닐 때도 찔끔 해보고, 수업 들을때 과제 제출 용도와 프로젝트 용도로 찔끔 겪어는 봤다. 물론 메인 기능인 merge나 branch 기능을 사용하지 않았기 때문에 공부할 필요성을 느꼈다. git은 상세히 설명해주는 블로그들이 많기에 개념용 단어 몇 개와 참고 사이트 정도만 정리해본다.
git을 사용하는 이유 by. 생활코딩 GIT1 (opentutorials.org)
1) 버전관리
문서나 소스파일을 수정해 업데이트 되는 내용이 버전별로 저장되는 기능. 각 버전의 문서/소스 는 선택한 문서/소스와 수정된 내용을 확인해 비교할 수 있다. 또한 업데이트 할 때 마다 해당 파일에 comment를 적어둘 수 있다. 물론 특정 버전으로 돌리고 싶을때 롤백도 가능하다.
2) 백업
파일 유실을 대비해 내 PC(로컬저장소, local repository)에 있는 문서/소스를 원격 PC(원격저장소 remote repository, github 같은 레파지토리 서버)에 저장해둔다.
3) 협업
여러명이 문서/소스를 수정해야 할 때 이용한다. 원격저장소를 매개로 수정, 업로드하는 과정의 버전관리를 거치는데 동일한 문서를, 동일한 행을 수정했을 경우 merge 혹은 업로드하는 사람에게 수정하라는 등의 교통정리를 해주는 기능이다.
꼭 알아야 하는 git 단어
git vs github
git
로컬저장소(PC)에서 소스/문서 수정을 관리하는 버전관리 시스템(VCS, Version Control System)
github
github이라는 클라우드 방식 버전 관리 시스템(VCS). git을 서비스하는 대표 클라우드 저장소.
.
.
주요 명령어
pull
원격 저장소(ex. github)에 있는 문서/소스 파일을 지정한 로컬저장소(ex.로컬 PC)로 다운로드하는 작업
push
원격 저장소(ex. github)에 로컬저장소(ex.로컬 PC) 문서/소스 파일을 추가, 수정해 저장하는 작업
commit
Git(로컬저장소)에 문서/소스 파일을 추가, 수정해 저장하는 작업
.
.
merge
원격 저장소와 로컬 저장소의 정보가 일치하지 않은 경우(내가 pull한 이후 다른 사람이 push해 원격 저장서 업데이트한 경우) push 요청이 거부된다. 이때 병합(merge) 통해 다른 사람의 업데이트 이력을 로컬 저장소에 갱신하는 작업
원격 저장소와 로컬 저장소 양쪽에서 파일의 동일한 부분을 변경한 경우 자동 판단이 어렵기 때문에 충돌 발생. 수동으로 반영한 후 다시 commit 수행해야 함
branch
독립적으로 어떤 작업을 진행하기 위한 개념으로, 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능. 각자 독립적인 작업 영역(저장소) 안에서 소스코드 변경 가능하며, 원래 버전과 비교해 하나의 새 버전으로도 생성 가능함.
master branch
저장소를 처음 생성시, Git은 바로 'master'라는 이름의 브랜치 생성. 이 새로운 저장소에 새로운 파일을 추가 한다거나 추가한 파일의 내용을 변경하여 그 내용을 저장(커밋, Commit)하는 것은 모두 'master' 라는 이름의 브랜치로 처리 가능.
'master'가 아닌 또 다른 새로운 브랜치를 만들어서 '이제부터 이 브랜치를 사용할거야!'라고 선언(체크아웃, checkout)하지 않는 이상, 이 때의 모든 작업은 'master' 브랜치에서 이루어 짐.
Git 주요 명령어(작업) 프로세스
끝.
'IT 인프라' 카테고리의 다른 글
도커 이미지 다루기 : 빌드, dockerfile, 저장소, 이미지 경량화 전략 (0) | 2022.12.09 |
---|---|
도커 구성요소, 이미지와 컨테이너, 명령어 그리고 컨테이너 다루기 위한 기능(엔트리포인트, 로그 등) (0) | 2022.12.08 |
WebtoB 실행 중(행걸린) Thread 확인 방법 - 웹어드민 화면 모니터링 페이지 (0) | 2022.07.27 |
JEUS 세션 클러스터링 방식, timeout 설정 부분 (0) | 2022.07.25 |
URL Redirect 목적과 WebtoB 설정 (0) | 2022.07.24 |