[깃/깃허브] 기본 개념 (드림코딩, 노마드 코더, 얄팍한 코딩 사전)

[2022.03.27]

일단 깃을 배우기 전에
깃이 뭔지 대략 파악하고 싶어서
여러 강의들에서 말하는 깃을 정리해보았다.

 

 

드림코딩 - 깃, 깃허브 이건 알고 사용하자

https://youtu.be/lPrxhA4PLoA

Git은 버전을 편리하게 관리할 수 있도록 도와주는 도구
VCS (Version Control System) 중 하나이다.

그리고 깃은 코드만 관리하는 것이 아니다
텍스트파일을 연동해서 사용하기도 하고
그래픽, 레이아웃 파일들을 이용할 수 있음

이러한 버전 관리 시스템이 없을 땐 폴더 별로 관리를 했다.

이걸 개선하기 위해 나온게
Centralized Version Control 이라 불리는 애들.

서버에 히스토리를 관리해서
각각의 개발자들이 원하는 내용을 서버에 업데이트해서 동기화하는 것
하지만 서버에 문제가 생기면 망한다.
또한 오프라인에서는 사용 불가

그래서 나온게 Distributed Version Control
서버에만 히스토리 정보가 있는게 아니라
모든 개발자들이 동일한 히스토리 정보를 가지고 있는 것
이렇게 분산되면 ...
서버가 다운되도 각자 동일한 정보를 갖고있기 때문에
이어나갈 수 있을 뿐만 아니라 오프라인에서도 가능

이런 서버는 깃허브같은 클라우드를 이용한다.


노마드 코더 - 깃. 깃허브. 기초개념 잡아드림. 5분 순삭.

https://youtu.be/YFNQwo7iTNc

깃과 깃허브는 다르다
연관되어 있지만 다르다. 마치 ... 커피와 카페 느낌

깃은 내 파일의 변화를 감시한다.
어디서, 몇 번, 몇 시에, 누가 등등 ... 모든 것!

깃의 최고의 장점은 각기 다른 버전을 보관할 수 있는 것


깃은 같은 파일을 가지고 여럿이 작업을 할 수 있다.
변경사항과 충돌 없이 ..
누가 뭘 바꿨는지 다 볼 수 있다.

깃으로 다른 사람과 파일깃 히스토리공유하는 것이 가능한 이유
바로, 깃허브
깃허브는 클라우드에 있는 깃 제공자

내 컴퓨터에서 깃 히스토리를 가져와서 깃허브 웹사이트에 푸쉬하는 것
그 담에 다른 사람은 이를 가져올 수 있어서 모든 변화 기록을 볼 수 있는 것

즉, 우리 모두의 깃 기록을 깃허브 클라우드에 올릴 수 있음
각각의 변화기록을 깃허브라는 같은곳으로 보내는 것이니까!

깃렙 빗버켓도 동일한 작업을 하지만
깃허브가 가장 유명하고 많이 쓴다

깃허브를 통해 아마존, 페이스북 구글 에어비엔비같은
유명한 대기업의 코드들을 오픈소스로 볼 수 있다고 한다!


깃허브를 통해 그들이 실제로 어떻게 코딩하는지 볼 수 있다.



얄팍한 코딩사전 - Git은 뭐고 Github은 뭔가요?

https://www.youtube.com/watch?v=Bd35Ze7-dIw

필요한 이유
1. 버전관리
2. 협업

개발자가 여러명 붙어서 작업하기 유용함
가지치기(브랜치)도 가능


간단요약


모두 공통적으로 들어가는 단어
'버전' 인걸 보아
각기 다른 버전을 보관할 수 있는 것이
가장 큰 특징인 것 같다.

또한 여러 개발자가 같이 작업할 수 있는 환경을 제공해주기 때문에
협업시에도 굉장히 유리한 도구같다.


실제로 자바 세미 프로젝트시,
깃의 존재를 몰랐기 때문에
파일을 압축하고 공유를 하며 진행을 했는데
그 때문에 최신 파일이 아니라 예전 파일로 작업을 하는 경우도 있었고
파일도 점점 많아져서 헷갈렸었다

https://taylog.tistory.com/33?category=991011


깃이 딱 이러한 문제를 해결해주는 것 같다.