오늘날 git를 이용한 협업이 매우 중요하죠. 그래서 이번 기회에 기본적인 걸 배웠고 그것을 기록해 둘까 합니다.
먼저, git은 많은 버전 관리 시스템 중 하나입니다.
git에 장점은,
- 복잡한 Branch* 관리에 적합
- 심플하지만 핵심적인 기능 강력
- 로컬 저장소와 원격저장소의 분리
- 빠른 속도
- 다양한 서비스 업체
- 다양한 보조 툴
이 있다고 합니다.
본격적으로 git에 대해 기록하자면,
Working Directory
지금 컴퓨터에서 실제 작업하는 디렉토리, 만들거나 수정 등 어떠한 작업을 한 디렉토리
Staging Area
저장소로 파일이 들어가기 전 준비 공간
준비 공간에 들어온 파일(git add한 파일)은 깃이 추적을 시작하게 되고, Local Repo에 들어갈 준비(git commit)를 마치게 된다.
때문에, 파일a, 파일b 두 파일 중 a만 Staging Area에 등록되면, 파일a에 대해서는 추적을 시작, 파일b는 추적을 하지 않게 됩니다.
Local Repository(저장소)
최종적으로 Staging Area에 있던 파일을 Local Repository(저장소) 즉, 우리 컴퓨터 저장소에 저장(git commit) 하게 됩니다. 그 과정에서 log message 또한 남길 수 있습니다.
Local Repository(저장소)는 Remote Repository(원격 저장소) 전 단계이고, 깃허브의 저장소가 될 것입니다.
마지막으로,
git은 많은 명령어 들이 있지만, 그중 배운 몇가지만 기록해 보겠습니다.
먼저, 폴더를 git이 추적할 수 있도록,
- git init
추적한 폴더안 변경사항을 보고싶을 때는,
- git status
본격적으로 파일을 추적하고 싶을 때는,
- git add 폴더명 OR git add *(폴더안 모든 파일)
추적한 파일을 저장소에 저장 하고싶을 때는,
- git commit -m "push 메시지"
갑자기 폴더가 날아가거나 삭제되어 저장소에 있는 폴더를 복사 하고 싶을 때는,
- git clone 원격 저장소 주소
협업 등을 통해 파일의 변경 내용을 가져오고 싶을 때는,
- git pull origin 브랜치
⭐️ 추가 내용 ⭐️
Branch*란
독립적으로 어떤 작업을 진행하기 위한 개념입니다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있습니다.
또한, 이렇게 만들어진 브랜치는 다른 브랜치와 병합(Merge)함으로써, 작업한 내용을 다시 새로운 하나의 브랜치로 모을 수 있습니다.
브랜치를 사용하여 동시에 여러 작업을 진행할 때의 작업 흐름을 한눈에 파악할 수 있습니다.
브랜치에 대한 git 명령어 또한, 몇 가지를 기록할까 합니다.
먼저, 현재 사용중인 브랜치를 보고싶을 때는,
- git branch를 통해 확인
- 브랜치 명 앞에 별표가 현재 선택된 브랜치입니다.
브랜치를 만들고 싶을 때는,
- git branch 브랜치이름
- 만든 브랜치 이름으로 깃허브에 push 해주고 싶다면,
- git push --set-upstream origin 브랜치이름
브랜치를 전환하고 싶을 때는,
- git checkout 브랜치이름
브랜치를 병합하고 싶을 때는,
- 먼저, 담길 브랜치로 전환해 줍니다.
- git merge 담길브랜치이름
필요가 없는 브랜치를 삭제하고 싶을 때는,
- git branch -d 브랜치이름
.gitignore 파일이란
해당 파일을 통해 파일명을 적으면, Stage 영역에 올라가지 않도록 자동으로 관리해 줄 수 있는 파일
touch .gitignore gitignore파일 생성
open .gitignore 파일 오픈
참고: https://backlog.com/git-tutorial/kr/stepup/stepup1_1.html, https://opentutorials.org/module/3963/24425,