GIT

git 개념 및 정리

커피마시기 2023. 10. 18. 23:32

 

■ Git 이란

Git은 분산형 버전 관리 시스템(Version Control System)의 한 종류로서 파일들의 복사,저장,백업 등의 모든 작업을 버전 관리라고 부른다
 

 

버전 관리

파일 내  변화를 기록했다가 나중에 특정시점의 버전을 다시 꺼내올 수 있는 시스템을 버전관리 시스템이라고한다

  1.  시간에 따라 수정 내용을 비교해 볼 수 있다
  2.  파일을 잃어버리거나 잘못 고쳤을 경우에 쉽게 복구할 수 있다
  3. 누가, 언제, 어떤 문제가 일어났는지 등을 알 수 있다
  4. 각 파일을 이전 상태로 되돌릴 수 있다

 
 

● 필요성

  1. 다른 개발자들과 협업을 진행하면서 번거로운 과정 없이도 손 쉽게 코드를 주고 받는 병렬적인 작업을 할 수 있다
  2. 확인 하지 않고 동시에 작업 하거나 겹치는 상황이 나타나는 문제 발생을 사전에 방지해준다 (충돌 최소화)

 
 
 

●  Git 작동구조

내가 작업한것들을(Working Directory)에서 원격저장소(Remote Repository)로 push
원격저장소(Remote Repository)에서 내가 작업하는(Working Directory)로 pull

 
 

●  Git 기본용어

  • Working Directory : 파일 수정, 저장 등의 작업을 하는 작업자의 시점
  • Staging Area : 저장소에 커밋하기전에 준비하는 위치로서 로컬 스테이지에 올려둔 파일은 원격 저장소에 커밋할 수 있다
  • checkout : 이전 버전의 작업을 불러오는 것을 말한다
  • Commit : 현재 변경된 작업 상태를 점검 및 확정하여 저장소에 저장하는 작업
  • Head : 현재 작업중인 Branch를 가르킨다
  • Branch : 분기점을 의미하며 작업을 할때에 Branch에서 작업을 한 후 완전하다 싶을때 병합하여 작업한다
  • Merge : 다른 Branch의 내용을 현재 Branch로 가져와 병합하는 작업을 말한다

 


 

Git과 Github

Git은 로컬에서 버전 관리 시스템을 운영하는 방식이고 Github는 Git을 사용하는 프로젝트를 지원하고 개발자들의 버전 제어 및 협업이 용이하고 오픈 소스를 공유할 수 있는 저장소이다
 

Git 과 Remote Repository 연결

Github 연결
git remote -v현재 원격저장소의 목록 확인
git remote rename 기존이름 변경할이름원격저장소 이름 변경
git remote remove 이름해당 원격 저장소 제거
git remote --help옵션 종류 보기
git remote add 이름 url원격저장소와 연결

 
 
 

● git push

현재 branch에서 commit 할 것을 저장소에 업로드하는 명령어이며 origin은 원격주소이고 master는 push 할 브랜치이다

push

 
 
 

● git pull

원격 저장소의 내용을 가져와서 현재 브랜치와 merge 해주는 작업으로  pull을 하게 되면 원격저장소 커밋과 동기화를 하고 해당 커밋을 merge한다

pull

 
 
 

● git fetch

원격 저장소의 branch와 commit들을 로컬 저장소와 동기화 하되 merge는 하지 않는다. 옵션을 생략하면 모든 원격 저장소에서 모든 branch를 가지고 온다

 
 
 

● 협업 시 주의사항

같이 팀원과 협업 작업을 할 경우에 먼저 git fetch와 git status를 통해 pull을 해야하는 내용이 있는지 먼저 확인하는 것이 중요하다 pull 할 내용이 있는 경우에, pull을 하지않고 로컬에서 작업을 하게되면 작업 후 push를 할 수 없다
 


 
 
Today short review 
git에 대해 기본적인것들을 알아보았고 협업을 할때에 충돌방지를 위해  fetch와 status을 사용하여 먼저 확인을 해보는 습관을 가지면 좋을거 같다.  그외에 자주 쓰이는 git 명령어도 알아봐야겠다