Git

[Git] 깃(Git)과 깃허브(GitHub)

neck392 2024. 10. 29. 21:25
이전부터 GitHub를 즐겨 사용하였으나 이에 대한 정리가 미흡한 것 같기에 이번 기회에 기본적인 개념과 사용법을 정리하는 시간을 가지려 한다.

 

 이전에는 Remote Sever에서만 협업이 이루어졌다. 그러나 이는 여러 환경적 요인으로 작업 공간에 문제가 생기면 모든 데이터가 유실될 수 있고 협업자와의 작업물에 대한 충돌(Conflict) 문제를 야기할 수 있다. 이를 방지하기 위한 가장 원론적인 방법은 작업 중간 중간 백업 데이터를 생성하는 것이며, 협업하는 사람과의 지속적인 의사소통이다.

 

이러한 문제를 개선하여 시스템 자체에서 여러 편의성을 제공하는 것이 Git과 GitHub이다.

즉, 사용자가 DVC(Data Version Control) 및 형상 관리(Configuration Management)하기가 매우 쉽다.

 

일반적으로 버전 및 형상 관리를 묶어서 서술하는 경우가 많으며 형상 관리가 버전 관리보다 조금 더 큰 개념으로 형상 관리 안에 버전 관리가 포함되어 있다.

즉, 형상 관리 ⊃ 버전 관리로 나타낼 수 있다.

 

다른 개선 방식들

  • CVS (Concurrent Version Systems)
  • SVN (Sub VersioN), CVS의 단점 개선
  • VSS (Visual Source Safe), Microsoft 의 Version Control

그러나 이외의 방식들은 Git이 나오며 거의 사용하지 않게 되었다.

 

Git과 GitHub의 장점

<GitHub icon>

  1. Git과 GitHub에서는 기본적으로 Commit되는 데이터들을 저장하기에 복구하기가 쉽다.
  2. Local Branch를 활용하여 Fast Forward로 간단히 Merge하거나 Conflict가 일어났을 경우 사용자가 해당 부분을 직관적으로 파악하여 Merge하기 용이하다.
  3. 여러 운영체제를 지원한다. 

 

Git ≠ GitHub

 Git과 GitHub는 다른 개념이다. 간략하게 정리하면

Git은 버전 관리 시스템을 의미하며

GitHub는 버전 관리 시스템을 활용하여 Remote Repository로 협업을 용이하게 만든 웹 기반 플랫폼이다.

 

field(실무)에서는 GitLab, Bitbucket 등을 사용하는 비율이 더 크다.

GitLab은 간단하게 말해서 비공개된 협업 Repository라고 할 수 있다.

다른 방식을 활용하는 이유는 라이센스나 Support 등 여러 요인이 있겠지만 기본적인 동작 과정은 비슷하며, GitHub만 숙지해도 다른 형상 관리 방법을 도입하고 이용하는데 어려움이 없다.


깃을 사용하는 방법은 다양하다.

특히, GitHub Desktop을 활용하면 GUI(Graphical User Interface) 환경에서 사용자 친화적으로 무척 편리하게 사용할 수 있다.

그러나 처음 깃을 사용할 때는 Git Bash를 활용한 CLI(Command Line Interface) 환경에서 사용하는 것이 배움에 있어서 도움이 된다. 기본적인 깃의 개념, 전체적인 작업 흐름(Workflow)에 대한 명확한 이해와 사용하는 요령을 충분히 터득한 이후에 작업 시간을 단축시킨다는 목적으로 GitHub Desktop을 사용하는 것이 바람직하다.

 


Download

Git Bash : https://git-scm.com/

사용자 등록

git config --global user.name "<name>"
git config --global user.email <Email-address>

 

GitHub CLI : https://cli.github.com/

GitHub 로그인

gh auth login

 

GitHub Desktop : https://desktop.github.com/download/