Home [Git] Git 정리
Post
Cancel

[Git] Git 정리

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 프로그램을 사용하면 편하다.
This post is licensed under younghwani by the author.

[Git] Git-flow 정리

[JPA] JPA 기본 1

Comments powered by Disqus.