-
[Github/Git]Git과 Github프로그래밍/Github&Git 2021. 12. 29. 12:33
코딩을 시작하며 깃허브에 대해 알아보기 시작한 사람들 중 "Github는 알겠는데 Git은 또 뭐야?!" 라고 생각했던 사람들...전에 그랬던 나를 위한 포스팅이다.
깃(Git)
버전을 편리하게 관리할 수 있게 도와주는 시스템 혹은 도구이다.
과제를 하면서 한번 쯤 봤을 법한 위의 상황들처럼 코드를 짜면서도 비슷한 상황이 발생할 때가 많은데, 폴더나 파일별로 version 이름을 붙여 관리하는 번거로움을 없애기 위해 VCS, Version Control System(버전 관리 도구)가 만들어졌다.
VCS는 중앙 집중식 버전 관리(Centralized Version Control)와 분산 버전 관리(Distributed Version Control)로 나눌 수 있다.중앙 집중식 버전관리(Centralized Version Control)
중앙 서버에 작업 히스토리가 모두 저장되고 개발자들이 변경한 내용을 서버에 업데이트시키는 방식으로 모든 버전 관리는 서버에서 이뤄지는 방식이다.
그렇기에 서버가 다운되면 오프라인에서 작업할 수 없게 되고, 서버 내용이 날라가면 복원할 수 없게된다.
(→ 이 문제를 보완하기 위해 분산 버전 관리가 나왔다.)
분산 버전 관리(Distributed Verskon Control)중앙 집중식 버전관리와 달리 서버의 히스토리를 각각의 개발자들도 복제하여 가지고 있다. 개발자들이 변경한 내용은 자신이 가진 히스토리(저장소)에 반영(Commit)후 중앙 서버에 반영(Merge)시키는 과정을 거치기에 서버가 다운되어도 개발자들이 가진 히스토리로 복원이 가능하며, 오프라인에서 작업도 가능해진다.
Git이 바로 분선 버전 관리형에 속한다.
버전 관리에 중점을 두고 설명했지만, Git의 큰 역할은 버전 관리, 백업, 협업 3가지로 설명할 수 있다.
깃허브(Github)
"Git 시스템에 프로젝트 관리 지원 기능을 확장하여 제공하는 웹 호스팅 서비스"라고 지식백과에 나와있는데, 쉽게 설명하자면 Git에서 다룬 히스토리들을 저장하는 공간 역할을 하는 웹 서비스라고 생각하면 된다.
위에서 Git이 분산 버전 관리형이라고 했는데, Github는 VSC의 서버 역할이라고 생각하면 될 것 같다.
즉, Git의 3역할 버전 관리, 백업, 협업 중 백업을 담당하는 곳이 Github이다.
물론, 저장뿐 아니라 소스 코드를 공유하고, 협업으로 프로젝트 진행시에도 유용하게 쓰인다.
※ 이 글만 읽고는 이해하기 힘들 수도 있다. 가장 빠르게 이해하기 위해서는 깃, 깃허브를 직접 사용해보는 것이니 아래 포스팅을 참고하길 바란다.++++
Github에는 마이크로 소프트, 구글, 페이스북 같은 세계적으로 유명한 IT기업들의 오픈 소스도 올라온다.
위의 기업 말고도 요즘 핫한 오픈 소스가 궁금하다면, 구글에 Github trending repository라고 검색하면 제일 위에 링크된 사이트에서 현재 가장 HOT한 오픈소스들을 볼 수 있다.
검색 필터로 개발자 언어, 개발 언어, 기간을 설정할 수 있으니 필요한 분들은 잘 사용하면 좋겠다.
[Github]깃허브 사용법 - Git Bash here
Github 사용법에 앞서 헷갈림 방지를 위해 깃과 깃허브에 대해 간단히 짚고 넘어가려 한다. Git은 분산 버전 관리 시스템으로, 코드 수정시 버전1, 버전2, 버전3 등으로 저장해 놔 버그가 생겼을
hyemco.tistory.com
[Git]깃 사용법 - Visual Studio에서 git으로 버전 관리하기
※ Git과 Visual Studio Code(VS Code)가 설치되었다는 가정하에 진행하니 아직 설치하지 않은 분들은 아래 포스팅을 참고하여 설치부터 하길 바란다. [IDE]비주얼 스튜디오 코드 설치 및 실행하기 HTML 에
hyemco.tistory.com
'프로그래밍 > Github&Git' 카테고리의 다른 글
[Git]깃 사용법 - Visual Studio에서 git으로 버전 관리하기(2) (# git graph) (0) 2021.12.31 [Git]깃 사용법 - Visual Studio에서 git으로 버전 관리하기 (0) 2021.12.30 [Github]깃허브 사용법 - Git Bash here (0) 2021.12.29 [Github]레포지토리(repository)/브랜치(branch)/커밋(commit),/푸쉬(push)/풀 리퀘스트(pull request) (0) 2021.12.23 [Github]깃허브 가입하기 (0) 2021.12.17