DEV_Larva
Git 입문 본문
이미 학생부터 많이 사용하였던 Github였지만 사실 주로 Commit, Push, Pull 기능을 주로 사용하였으며, 그 과정 중에 발생하는 오류에 대해서는 항상 구글 선생님의 손을 빌리곤 했었다. 따로 공부를 한적은 없는 거? 같다.🙀
Github의 경우 개발을 한다면 지속적으로 업데이트할 것이고, 새로운 기능에 대해 접근할 경우 더욱 그렇다.
그래서 이번에는 잠깐 개발은 멈추더라도 시간을 내서 기초 부터 다시 정리해보면서 Git의 기초부터 차근차근 접근해보려고 한다.
1. Git 과 Github 차이점
보통 깃헙에 대해서는 개발을 한 번이라도 해봤다면 많이 들어봤을 텐데 Git은 어떤가?
같은 거라고 생각하고 있는 사람도 있을 것이고, 다르긴 하겠지만 뭐가 어떻게 다른지 정확히 파악을 못하고 사용하고 있는 경우도 있을 텐데.. 사실 나도 후자에 포함되어서 지금 이렇게 공부를 하고 있다.
본론으로 들어가서 차이점에 대해 알아보자.
💾 Git
- 오픈 소스 버전 관리 시스템
- 로컬에서 버전을 관리
- 소프트웨어 개발 및 소스 코드 관리
💾 Github
- Git Repository를 위한 웹 기반의 호스팅 서비스
- 클라우드 서버를 사용하여 로컬에서 소스코드를 업로드하여 공유
- 분산 버전 제어, 액세스 제어, 소스 코드 관리, 버그 추적, 기능 요청 및 작업 관리 제공
딱 두 가지를 두고 보면 크게 달라 보이는 것이 보이는데 둘 다 버전, 소스 코드를 관리할 수 있다. 하지만 Github의 경우 로컬이 아닌 클라우드 서버를 이용하여 본인이 아닌 타 개발자들과 실시간으로 작업을 할 수 있다.
이 장점 덕분에 프로젝트를 한다면 Github에서 공동 작업이 가능 해졌다.
따라서 Git과 Github의 가장 큰 차이는 로컬이냐, 클라우드 서버이냐 로 구분을 지을 수 있겠다.
2. Git 기본
컴퓨터를 사용하거나 스마트폰을 사용하다 보면 저장소에 음악, 메모, 사진 등등을 저장하는 행위를 이해한다면 Git Repository를 이해하기는 더욱 쉽다. Repository는 저장소라는 뜻을 가지고 있다.
비슷한 파일이라도 실제 내용 전체가 다르거나 일부분이 다르면 다른 파일로 인식해야 하기 때문에 파일을 구분해서 저장하는 것이다.
Git에는 2가지의 저장소를 가지고 있다.
1. 원격 : 파일이 원격 저장소 전용 서버에서 관리, 여러 사람이 함께 공유 가능
2. 로컬 : 내 PC 전용 저장소
이 저장소를 만들때 또한 방법은 2가지가 있는데 아예 새로 만들어 버리거나, 이미 만들어둔 원격 저장소를 로컬 저장소로 복붙 하는 것이다.
3. Commit(커밋)
Commit(커밋)은 파일 및 폴더의 추가 또는 변경 사항을 기록하는것을 의미한다. 따라서 해당 변경 사항을 기록하기 위해서는 커밋을 해줘야 한다. 프로젝트를 하다 보면 한 번에 뚝딱하고 만들어 내는 일은 보통 잘 없다. 따라서 커밋을 통해 시간이 지남에 따라 시간 순으로 과거 변경 이력과 함께 어떤 식으로 해당 프로젝트가 발전하였는지 확인할 수 있다.
여기서 중요한 점은 본인만 보는것이라면 상관없지만 다른 사람도 커밋 이력을 확인하기 쉬워야 하기 때문에 Git에서 권장하는 형식을 따르는 것이 좋다.
- 1번째 줄: 변경 내용 요약
- 2번째 줄:
- 3번째 줄: 변경 이유
4. Work tree, Index
work tree: 기존에 알고 있는 폴더의 개념과 유사
Index: 커밋을 실행하기 전의 저장소와 작업 트리 사이의 공간
여기서 인덱스에 저장되지 않은 파일은 커밋이 되지 않는다.
인덱스에 파일 상태를 기록하는 것을 stage(스테이징)이라고 하며 변경 사항부터 기록하려는 것들은 모두 여기 "인덱스"에 존재해야 한다.
이 공간은 따로 실제로 보이지 않는 가상의 공간으로 사용자가 저장소에 공개를 원하는 파일만을 포함 하거나 안 할 수 있는 선택권이 생긴다. 따라서 일부 변경 사항만을 인덱스에 저장하여 커밋하는 것도 가능해진다.
간단하게 기초부터 정리하다 보니 아는것도 있지만 애매하게 아는 것들이 나, 몰랐던 것들이 많아 더욱 공부의 필요성을 느끼는 시간인 거 같다!! 다음 시간은 바로 실제로 Git을 설치해보고 프로젝트에 참가해서 실습을 해보자!💪💪💪
learning by repetition
'잡동사니 > Git&Github' 카테고리의 다른 글
Git GUI - GitKraken (0) | 2023.01.08 |
---|---|
Git Push 취소 (0) | 2022.11.12 |
Github 공유 실습 (0) | 2022.09.22 |
Git 공유 (0) | 2022.09.19 |
Git 설치 (0) | 2022.09.18 |