Git은 분산형 버전 관리 시스템(VCS) 중 하나로, 소스 코드의 버전 관리와 협업에 필요한 다양한 기능을 제공합니다.
Git을 이용하면 여러 명의 개발자들이 동시에 작업을 진행하더라도 소스 코드를 안전하게 보관하고, 언제든지 특정 시점의 버전으로 되돌릴 수 있습니다. 이를 통해 개발자들은 코드 수정에 대한 업무 간섭 없이 자신이 맡은 업무에 집중할 수 있습니다.
Git은 커맨드 라인 명령어를 사용하여 사용할 수 있지만, GUI 도구들이 많이 존재하여 더 쉽게 사용할 수 있습니다.
Git의 주요 개념은 다음과 같습니다.
Repository(저장소): 파일들의 버전 관리를 위한 저장소
Commit(커밋): 파일의 변경사항을 저장소에 기록하는 작업
Branch(브랜치): 복사본을 만들어 다른 작업을 하기 위한 개념
Merge(병합): 여러 개의 브랜치를 합치는 작업
Pull request(풀 리퀘스트): 코드의 변경 사항을 검토하고 병합할 수 있는 기능
Git은 오픈 소스이며 무료로 사용할 수 있으며, 대부분의 개발자들이 사용하고 있습니다. Git을 이용하면 버전 관리를 통해 개발자들의 협업을 원활하게 할 수 있으며, 안정적인 개발을 위한 필수 도구입니다.
git init: Git 저장소를 초기화합니다.
예시: git init
git clone: 원격 저장소를 로컬에 복제합니다.
예시: git clone https://github.com/user/repo.git
git add: 변경된 파일을 Staging Area에 추가합니다.
예시: git add file.txt (한 파일 추가), git add . (모든 변경된 파일 추가)
git commit: Staging Area에 있는 파일을 커밋합니다.
예시: git commit -m "commit message"
git push: 로컬 저장소의 변경사항을 원격 저장소로 업로드합니다.
예시: git push origin main
git pull: 원격 저장소의 변경사항을 로컬로 다운로드합니다.
예시: git pull origin main
git status: 현재 Git 저장소의 상태를 확인합니다.
예시: git status
git log: Git 저장소의 커밋 로그를 확인합니다.
예시: git log
git branch: Git 저장소의 브랜치를 관리합니다.
예시: git branch (브랜치 목록 확인), git branch new-
branch (새 브랜치 생성)
git checkout: 다른 브랜치로 전환합니다.
예시: git checkout new-branch
git merge: 다른 브랜치의 변경사항을 현재 브랜치로 병합합니다.
예시: git merge other-branch
git reset: 커밋을 취소하거나 변경사항을 취소합니다.
예시: git reset HEAD~1 (최신 커밋을 취소), git reset file.txt (Staging Area에서 해당 파일을 제거)
git stash: 변경사항을 임시로 저장하고, 나중에 다시 적용할 수 있도록 합니다.
예시: git stash save "stash message", git stash pop
git remote: 원격 저장소를 관리합니다.
예시: git remote add origin https://github.com/user/repo.git
git tag: 커밋에 태그를 추가합니다.
예시: git tag v1.0.0
git diff: 파일 간의 차이를 확인합니다.
예시: git diff file1.txt file2.txt
git fetch: 원격 저장소의 변경사항을 로컬로 다운로드합니다.
예시: git fetch origin main
git rebase: 브랜치의 변경사항을 변경사항을 더욱 깔끔하게 편집할 수 있습니다.
예시: git rebase main feature-branch
추천할 만한 git에 대한 유튜브 영상 채널을 알려드릴게요.
The Net Ninja: https://www.youtube.com/c/TheNetNinja
Traversy Media: https://www.youtube.com/user/TechGuyWeb
Programming with Mosh: https://www.youtube.com/user/programmingwithmosh
freeCodeCamp.org: https://www.youtube.com/c/Freecodecamp
GitLab: https://www.youtube.com/user/GitLabVideos
GitKraken: https://www.youtube.com/c/GitKrakenVideos
DevMarketer: https://www.youtube.com/c/DevMarketer
TechSith: https://www.youtube.com/c/techsithtube
Codevolution: https://www.youtube.com/c/Codevolution
LearnCode.academy: https://www.youtube.com/c/LearnCodeacademy
위 채널들은 git에 대한 다양한 주제와 기초적인 내용부터 심화된 내용까지 다루는 내용을 다루고 있습니다. 참고하시면 도움이 될 것입니다.