Git & Github

kangking·2024년 5월 16일

기반기술

목록 보기
12/14
post-thumbnail

Git VS Github

git은 버전관리 시스템, github은 원격 저장소이기 때문에 둘은 다른 개념이다.


Git

소스코드를 효과적으로 관리하기 위해 개발된 '분산형 버전 관리 시스템'

Git의 장점?

  • 소스 코드 변경이력을 쉽게 확인할 수 있음
  • 특정 시점에 저장된 버전과 비교하거나, 특정 시점으로 되돌아 갈 수도 있다.
  • 내가 올리려는 파일이 누군가 편집한 내용과 충돌한다면 경고 발생

Git 사용

  • 시작

    버전관리를 하고자 하는 파일에서 git init (bash 명령어) 실행

    해당 파일에 버전관련 변경 사항에 대한 내용이 저장되는 .git폴더 생성됨

Git 명령어

  • git init

    버전 관리를 시작할 폴더를 지정

  • git add [추가할 파일경로]

    변경된 파일을 스테이지 영역에 추가

  • git commit -m "[커밋 메시지]"

    커밋 메시지로 커밋 진행

    --amend -m [메시지]: 최근 커밋메시지를 수정

  • git branch

    브랜치 이동 및 이름 변경 등 브랜치 설정 변경

  • git config [카테고리][옵션명]

    각종 git 설정 편집

  • git log

    커밋 기록 호출

  • git reset

    [파일명]: 스테이징 영역에서 제거
    [커밋해시]: 해당 커밋 삭제

    옵션Working DirectoryStaging AreaRepository
    --mixed유지변경변경
    --hard변경변경변경
    --soft유지유지변경
  • git checkout [커밋해시]

    해당 해시번호에 해당하는 커밋으로 버전을 되돌림

Git 용어

  • Branch

    독립적인 개발을 위해서 코드를 통채로 복사하는 것

  • commit

    스테이지 영역에 담긴 버전 정보를 하나의 버전으로 등록하는 행위

  • stage

    새로운 버전으로 등록할 내용을 담아두는 영역

  • HEAD

    현재 위치한 버전

  • main

    기본 브랜치명


Github

git으로 관리한 버전들을 저장하는 원격 저장소

git과 github는 분리해서 생각해야 한다


각종 컨벤션

Commit

제목타입리스트
Feat기능(새로운기능)
Fix버스(버그수정)
docs문서수정
style코드변경X경우
refactor리팩토링
test테스트코드 추가
chore빌드 업무 수정

머리글

내용

꼬리글


브랜치 전략

main

실제 운영중인 프로젝트의 브랜치

Develop

새로운 기능을 개발하는 프로젝트의 브랜치

feature

새로운 기능을 개발하기 위해 개발자가 사용하는 브랜치

Merge

Merge는 로컬에서 하지 않고 Pull Request를 올려 팀원들의 검토 이후 github에서 merge하고 로컬로 fetch한다.

profile
하루하루 의미있게

0개의 댓글