2022. 8. 29. 18:29ㆍGit & Github
흔히들 현업에서 일하려고 하면 깃허브를 필수적으로 사용한다고들 한다.
그렇다면 깃허브가 무엇일까?

우선 깃허브를 알기전에 깃(Git)이 무엇인지 알아보았다.
깃은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 파일 집합의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다.
즉, 우리가 작성한 파일의 변경지점을 알 수 있고, 언제, 어떻게 바뀌었는지 알 수 있다는 것이다.
학부시절에 팀프로젝트를 하다보면, 각자 파일을 카카오톡으로 보내고 누군가 취합했었던 것 같다. 그러다보면 달라지게 되는 변수명이나 여러가지의 변경점으로 인해 디버그가 발생하게 되고, 디버그가 어디서 생겨난건지 찾다가 시간낭비를 굉장히 많이 했던 것 같다.
그러한 문제를 깃의 버전 관리를 통해 보다 쉽고 빠르게 디버그가 발생하는 지점을 찾을 수 있다는 것이 굉장한 장점으로 느껴졌다.
로컬영역(나 혼자 작업하는 공간?)에서 작성한 것들을 올리는 클라우드 환경이 깃허브다. 깃허브에 작성한 것들을 등록해서 같은 프로젝트를 하는 사람들이 서로 공유하고 효율적으로 진행할 수 있게 만들어주는 것이다. 쩐다!
정리하자면, 깃을 사용하는 이유는 크게
1. 협업시에 같은 페이지에 각자의 수정사항을 업로드 할 수 있고, 이를 병합할 수 있다.
2. 파일의 모든 변경 사항의 스냅샷을 저장한다. 물론 이전 시점의 버전으로 되돌릴 수 있다.
3. 다른 사람이나 프로젝트를 볼 수 있고, 배울 수 있다.
라고 볼 수 있다.
● 용어 정리
- 저장소 ( Repository )
프로젝트가 거주할 수 있는 디렉토리나 저장 공간. repo라고도 줄여 쓴다.
- 버전관리 ( Version Control )
프로젝트의 히스토리의 모든 시점의 스냅샷을 유지하여 버전을 관리한다.
- 커밋 ( Commit )
해당 시점의 스냅샷을 찍어 프로젝트를 재평가하거나 복원할 수 있는 체크포인트를 가질 수 있다.
- 브랜치 ( Branch )
작업자들이 메인 프로젝트의 브랜치를 따서 자신만의 버전을 만드는 것을 말한다. 작업이 끝난 후 프로젝트의 메인 디렉토리인 master에 브랜치를 다시 merge한다.
● 명령어
- git init
깃 저장소를 초기화한다. 이 명령을 실행하기 전까지는 일반 폴더이다. 이것을 입력한 후에야 추가적인 깃 명령어를 줄 수 있다.
- git help
깃 명령어를 잊어버렸다면 이것을 이용해 유용한 명령어를 볼 수 있다.
- git status
저장소의 상태를 체크하는 명령어이다. 프로젝트의 수정된 파일이나 어떤 브랜치에서 작업하는지 등을 체크할 수 있다.
- git add
깃이 새 파일들을 지켜보게 한다. 파일을 추가하면 깃 저장소의 스냅샷에 포함한다.
- git commit
변경사항을 만든 후 스냅샷을 찍기 위해 입력한다. -m을 이용하여 메세지를 남겨놓는다. ( commit -m "message" )
- git branch
자신만의 변경을 원한다면 새로운 브랜치를 만들고, 자신만의 변경사항과 파일 추가등의 커밋 타임라인을 만든다.
- git merge
브랜치에서 작업을 끝내고 master 브랜치로 병합할 수 있다. cats 브랜치에서 만든 모든 변경사항을 master로 추가한다.
- git push
로컬 컴퓨터에서 작업하고 나의 커밋을 깃허브에서 온라인으로도 볼 수 있기 원할 때 이 명령어를 이용해 변경사항을 push한다.
- git pull
로컬 컴퓨터에서 작업할 때, 작업하고 있는 저장소의 최신 버전을 원하면, 이 명령어를 이용해 깃허브로부터 변경사항을 다운로드한다.
'Git & Github' 카테고리의 다른 글
| 원격 repo (0) | 2022.11.08 |
|---|---|
| Sourcetree를 사용한 git 실습 (0) | 2022.11.08 |