Git 정리
Git이란?
형상(버전) 관리 도구
버전을 관리할 수 있도록 돕는 역할을 한다.
깃은 소스코드를 효과적으로 관리할 수 있도록 돕는 공개 소프트웨어다.
깃은 분산 버전 관리 시스템을 채택하고 있다.
분산 버전 관리 시스템이란?
기존의 SVN은 소스코드 관리를 위한 중앙 서버를 두는 방식을 택했다. 하지만 Git이 사용하는 방식은 이와 차이가 있다. 내 컴퓨터가 하나의 저장소가 되고, 원한다면 push를 통해 저장소를 공유하는 방식을 택하고 있다. 우리는 이러한 방식을 분산 버전 관리 시스템이라 부른다.
Git의 장점
- 분산 버전 관리 시스템의 장점을 그대로 가진다고 볼 수 있다.
- 중앙 서버 문제 발생 시 클라이언트의 디바이스에는 소스코드가 남아있기에 원상 복구가 가능해진다.
- 효과적인 병렬 작업(동시 작업)이 가능하다.
- 프로젝트의 복사, 실행(테스트), 배포 등의 관리에 편의를 느낄 수 있다.
Git의 특징
- branch를 따로, merge를 하는 작업이 편리하고 효율적이다.
- git은 빠르다. Git 홈페이지에서 SVN과의 속도 비교를 보여주고 있다.
- workflow 관리, stage 관리에 유리하다.
Git 명령어 (자주 사용하는 위주로 정리)
초기화
1
git init
리모트 저장소 추가
1
git remote add origin <리모트 저장소의 SSH or HTTPS Code>
스테이징 상태 확인
1
git status
Staged 상태에 추가
1
git add . # 전부 추가
패치
1
git fetch
풀
1
git pull
커밋
1
git commit -m "message"
푸쉬
1
git push -u origin master
브랜치 추가
1
git branch <branch_name>
브랜치 제거
1
git branch -d <branch_name>
체크 아웃
1
git checkout <branch>
병합
1
git merge <commit>
체리 픽
1
git cherry-pick <commit_hash>
리베이스
1
git rebase <commit>
이력 관리
1
git log
커밋 취소
1
git reset --hard <commit_hash>
커밋 되돌리기
1
git revert <commit_hash>
버전 관리 웹호스팅 서비스
- GitHub
- GitLab
- etc…
사용 이유
- 웹호스팅 서비스가 제공하는 소스코드 공유 기능을 통해 서버에 코드를 공유할 수 있다.
- 병렬 작업의 편의를 얻을 수 있다.
- Push, Pull&Request 같은 이벤트에 반응하기 좋다.
- 이벤트에 반응해 자동으로 배포 등의 작업을 하는 것이 가능하다.
- 예) GitHub Actions
기타 정보
- 버전 관리를 위해 깃크라켄이나 깃헙 데스크톱 등의 GUI 프로그램을 사용하면 편하다.
Comments powered by Disqus.