본문 바로가기

DEVELOPER/Git & Github

[Git, Github] Git(깃)에 대해 알아보기


대부분의 개발 초보자들은

언어를 배우는 데에만 초점을 두고 있습니다.

하지만 시간이 지났을 때는

자신의 코드를 기록하고, 관리해야 했다는 것을 깨닫습니다.

 

개발자는 Git을 통해서

기록한 코드를 추후 참고 자료로 활용이 가능하고,

프로젝트도 여러 방향으로 진행할 수 있습니다.

다시 말해서 버전을 관리하기가 용이합니다.

 

또한 실무에서는 협업 위주 프로젝트형업무로 진행됩니다.

이 과정에서는 Github을 많이 활용합니다.

그 이유는 Github에서 코드 관리뿐만이 아닌

프로젝트 이슈 관리, 개발자 커뮤니케이션 형성 등 다양한 기능을 제공하기 때문입니다.

위와 같은 이유들로 실무에 적합하고, 성장하는 개발자가 되기 위해선

GitGithub은 꼭 알아야 하는 개념이라고 생각합니다.

 



◎ Git / GitHub를 익혀야 하는 이유


  • 현대 개발 팀 프로젝트에서 버전 관리와 클라우드 저장소는 필수 불가결한 기술
  • Git : 버전 관리의 1등
  • GitHub : 클라우드 저장소의 1등
  • 효율적인 개발 협업 가능
  • 코드 기록 , 코드 관리
  • 프로젝트 전반적인 관리
  • 개발자 간 커뮤니케이션 형성
  • 포트폴리오로 활용
깃(Git) 이전에는 SVN(SubVersion)이라는 형상관리/소스 관리 툴 존재

 


◎ 버전 관리란?


  • 동일한 정보에 대한 여러 버전을 관리하는 것
  • 소스 관리, 소스 코드 관리라고도 함
  • 작성하는 문서에 숫자나 문자로 이뤄진 "버전"을 부여해서 변경 사항마다 표기
  • 분실의 위험에서 보호하고자 어떤 형태로든 소스 코드를 백업하는 것
  • 개정 전후 내용을 파악하여 추후 발생할지도 모를 오류 수정에 대비하기 위한 것.

* 일상에서 찾아보는 버전 관리
우리는 몇몇 게임에서 종료를 하기 전에 SAVE를 해야 하는 경우가 종종 있었을 것이다.
그렇게 플레이한 기록을 slot1에 저장을 하게 된다.
이어서 플레이를 추가로 진행한 후 저장하면 slot2에 저장이 된다.
하지만 우리는 더 진행된 부분이 마음에 안 들면 다시 slot1에서 플레이를 진행할 수가 있었다.

◎ Git(깃) 이란?


- 분산 버전 관리 시스템

- 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율

 

1. 특징

  • 원하는 시점마다 깃발을 꽂고(버전을 만들고) 필요시 자유롭게 이동
  • 내가 만든 버전뿐만이 아닌 동료가 만든 버전으로 이동, 참고가 가능
  • 내 버전과 동료 버전을 비교 가능
  • 코드를 업데이트
  • 저장할 공간만 있다면 어디서든 버전 관리가 가능 (개인 컴퓨터, USB, 회사 서버, 클라우드(GitHub,BitBucket..등등)

 

2. Git을 사용하는 두 가지 방법 (CLI, GUI)

1) CLI (Command-line-interface)

  • 가상 터미널/ 터미널에 명령어를 입력하여 작동
  • git이 제공하는 모든 기능 사용 가능
  • 초보자에게는 다소 어려움

ex. Git Bash

2) GUI (Graphical user interface)

  • interface에서 제공하는 버튼 클릭으로 작동
  • 코드에 변경 사항이 가시적으로 확인 가능

ex. SourceTree(소스트리), GitHub Desktop 등

SourceTree 인터페이스

 

3. 저장소(Repository)

위에서 버전관리를 이해하기 쉽도록 든 예시에서 slot에 해당하는 부분

다시 말하면 프로젝트 폴더

 

종류

1) 원격 저장소(Remote Repository) : 원격 서버에 저장된 저장소로 여러 사람이 공유가 가능. (대표적으로 github)

2) 개인 저장소(Local Repository)로 본인 PC에 저장하여 폴더를 직접 관리하는 저장소


 

반응형