안루피취뽀일기

Git & Github 본문

git & github

Git & Github

안루피 2023. 9. 15. 16:54
728x90

 Git

  • 오픈 소스 버전 관리 시스템(VCS: Version Control System)
  • 로컬에서 버전 관리
  • 소프트웨어 개발 및 소스 코드 관리에 사용

git은 본인의 코드와 그 수정내역을 기록하고 관리하도록 돕는 버전 관리 프로그램이며, 로컬에서 프로젝트의 기록을 스스로 관리할 수 있도록 해준다. git을 통해 브랜치를 생성하고 이전 브랜치로 복구, 삭제, 병합이 가능하다. 하지만 로컬 저장소를 사용하기 때문에 다른 개발자와 실시간으로 작업을 공유할 수 없다.

 

 Github

  • Git Repository를 위한 웹 기반 호스팅 서비스
  • 클라우드 서버를 사용해서 로컬에서 버전 관리한 소스코드를 업로드하여 공유 가능
  • 분산 버전 제어, 액세스 제어, 소스 코드 관리,  버그 추적, 기능 요청 및 작업 관리를 제공

 

 github는 git 저장소를 관리하는 클라우드 기반 호스팅 서비스다. git 저장소 호스팅 서비스는 클라우드 기반으로 다른 사람과 소스코드 공유가 가능하며 git의 기본적인 기능을 확장하여 제공한다. 또한 클라우드 서버에 소스를 올리기 때문에 한 프로젝트에 여러 명의 사람이 참여하여 버전 제어 및 공동 작업이 가능하다.

 

 

다시 말해,

Git 버전 관리 '프로그램',
Github 버전 관리, 소스 코드 공유, 분산 버전 제어 등등이 가능한 원격 저장소

라고 할 수 있다.

 

 

왜 깃(Git)을 사용해야 하는가?

 

개발자들은 작업물을 컴퓨터 특정 폴더에 넣어 놓게 된다. 작업을 하여 생성된 여러 리소스들이나 소스코드를 폴더 안에 저장하며 수정하고 업데이트, 삭제 등을 하는데, 내가 실수를 하였거나, 전에 수행했던 작업들과 뭐가 바뀐건지 헷갈릴 때 언제든 폴더 내 상태를 이전으로 되돌릴 수가 있다. ctrl Z 수준이 아니라 아예 저장되어있는 모든 폴더의 상태를, 1시간전, 어제, 엊그제로 혹은 맨처음으로 되돌릴 수 있게 된다. 또는 과거 작업 상태로 돌아가서 필요한 것만 현재 작업물에, 다른 과거 작업물에 적용할 수도 있다.

 

만약 깃허브를 사용하지 않고 로컬 컴퓨터의 폴더 안에서만 작업을 하게 된다면, 시점별 폴더를 압축해서 여러개를 만들어놓아야 할 것이다.

 

코딩을 하다보면 메인 작업에서 해보기에는 위험이 있는 혹은 단순한 테스트 등을 진행하거나, 여러 버전을 만들어봐야 하는 경우가 굉장히 많은데, 깃이 없다면 폴더를 통째로 따로 복사해서 각각에서 따로 작업을 해야할 것이다. 이런 불편한 점을 없애고 여러 버전을 넘나들며 작업을 할 수 있다는 큰 장점이 있다. 또 깃은 같은 프로젝트를 여러 사람이서 협업하는 것도 가능하게 해준다.

 

 한마디로 git은 버전 관리 프로그램이라는 뜻이다.

 

* 버전 관리

 

버전 관리란 시간에 따라 파일의 변경사항을 추적하고 기록하는 것이다. 버전 관리 시스템은 이전 버전으로 복구하거나 조회할 수 있는 기능을 제공한다. 버전 관리는 프로젝트의 수정이 있을 때마다 snapshot을 찍는다. 따라서 필요한 것을 복구하거나 비교할 때 다양한 버전들을 확인할 수 있다.

 

 

 

 

 

 

 

 

 

 참조자료

https://cocoon1787.tistory.com/723

https://escapefromcoding.tistory.com/281

https://ebbnflow.tistory.com/196

728x90