ALOHA CLASS
/
CI/CD
/
Git
Search
Share
Git x Github 실습
Github 원격 저장소 만들기
Github 팀원 초대하기
Git Clone
git Clone
예시:
Git Clone
branch 생성 및 반영
각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있습니다.
작업이 완료되면 메인 브랜치에 변경사항을 병합하여 작업을 완료할 수 있습니다.
Git Branch 생성하기
Git Branch 확인하기
branch 생성 및 전환
branch
switch
checkout
Git Commit
Git Commit 명령어
Git Commit
commit
Git Push
commit된 변경 사항을 GitHub와 같은 원격 저장소와 동기화하는 데 사용됩니다.
기본 명령어
예시:
Git Push
push
Git Pull
기본 명령어
예시:
주요 옵션
Git Pull
pull
Git fetch
Git fetch는 원격 저장소의 새로운 브랜치와 그 변경사항도 가져옵니다. 로컬에 없는 새 브랜치가 원격에 있다면, 원격 브랜치로 가져오게 됩니다.
원격의 새 브랜치가 로컬에 반영됨
•
원격 브랜치 목록 확인
Git fetch
fetch
로컬 브랜치가 원격 브랜치를 추적하도록 설정하여, 이후
git push
나
git pull
명령어를 간단하게 사용할 수 있습니다.
기본 명령어
예시:
또는 짧은 형태:
Git Branch --set-upstream-to 옵션
Git Branch
branch
Git Merge
서로 다른 브랜치를 하나로 통합하는 Git의 핵심 명령어로, 브랜치 간의 변경 사항을 하나의 브랜치로 결합합니다.
Git Merge 명령어
기본 명령어
현재 브랜치에 다른 브랜치를 병합
병합 커밋 메시지 작성
Git Merge
merge
Git Conflict(충돌)이란?
충돌이 발생하는 일반적인 상황
•
여러 개발자가 동일한 파일의 동일한 줄을 수정할 때
•
한 브랜치에서 파일을 수정하고, 다른 브랜치에서 같은 파일을 삭제했을 때
•
서로 다른 브랜치에서 같은 이름의 파일을 생성했을 때
Git Conflict & 충돌 해결
conflict
Git Pull Request
특히 협업 환경에서 코드 리뷰 및 병합 과정을 시각적으로 관리할 수 있게 해줍니다.
기본 개념
전체 흐름
Git Pull Request
pull request
PR
GitHub Fork란?
Fork의 특징
Git fork
fork
Git Amend
Git Amend는 가장 최근의 커밋을 수정할 수 있는 기능으로, 커밋 메시지나 파일 내용을 변경할 때 사용합니다.
Amend란?
Amend는 "수정하다"라는 뜻으로, Git에서는 마지막 커밋을 다시 작성하는 것을 의미합니다. 새로운 커밋을 만드는 것이 아니라, 기존 커밋을 덮어쓰는 방식입니다.
Git Amend 명령어
기본 명령어
마지막 커밋을 수정합니다.
편집기가 열리면서 커밋 메시지를 수정할 수 있습니다.
Amend 옵션
사용 예시
Git amend
commit
Git Cherry-pick
Git Cherry-pick은
특정 커밋을 선택하여 현재 브랜치에 적용
하는 기능으로, 다른 브랜치의 특정 변경사항만 가져올 수 있습니다.
Cherry-pick이란?
Cherry-pick은 말 그대로 "체리를 골라 먹는다"는 의미로, 다른 브랜치에 있는 여러 커밋 중에서 원하는 커밋만 선택해서 현재 브랜치에 적용하는 것을 말합니다.
Git Cherry-pick 명령어
기본 명령어
지정한 커밋을 현재 브랜치에 적용합니다.
커밋 해시는 필수값으로, 적용하고자 하는 커밋의 해시를 반드시 지정해야 합니다.
Cherry-pick 옵션
Git cherry-pick
cherry-pick
Git Reset
Git Reset은
커밋 히스토리를 되돌리고 작업 디렉토리의 상태를 변경
하는 명령어로, HEAD 포인터를 이전 커밋으로 이동시켜 변경사항을 관리합니다.
Git Reset 명령어
기본 명령어
HEAD를 지정한 커밋으로 이동시키고, 옵션에 따라 스테이징 영역과 작업 디렉토리를 변경합니다.
옵션을 생략하면 기본적으로
--mixed
모드로 동작합니다.
Reset 옵션
Git reset
reset
Git Revert
Git Revert는
이전 커밋을 취소하고 되돌리는 명령어
로, 작업 내역을 유지하면서 안전하게 변경사항을 되돌릴 수 있는 기능입니다.
Git Revert 명령어
기본 명령어
특정 커밋의 변경사항을 되돌립니다.
새로운 커밋을 생성하여 이전 커밋을 취소하므로, 히스토리가 보존됩니다.
Revert 옵션
Git revert
revert
Git Stash
Git Stash는
현재 작업 중인 변경사항을 임시로 저장하고
나중에 다시 적용할 수 있게 해주는 기능입니다. 작업 디렉토리를 깨끗하게 유지하면서
다른 브랜치로 전환하거나 긴급한 작업을 처리할 때 유용
합니다.
Stash란?
Stash는 현재 작업 중인 변경사항(수정된 파일, 스테이징된 파일)을 임시 저장소에 보관하는 기능입니다. 이를 통해 작업 디렉토리를 마지막 커밋 상태로 되돌릴 수 있으며, 나중에 저장한 변경사항을 다시 불러와 작업을 계속할 수 있습니다.
Git Stash 명령어
기본 명령어
현재 작업 중인 변경사항을 임시로 저장합니다.
수정된 추적 파일과 스테이징된 변경사항을 모두 stash에 저장합니다.
Git statsh
stash
Git Release
Git Release는 소프트웨어의 특정 버전을 공식적으로 배포하는 과정으로, 안정적인 코드 스냅샷을 태그로 표시하여 사용자에게 제공하는 핵심 기능입니다.
릴리스(Release)란?
릴리스는 개발된 소프트웨어의 특정 버전을 사용자에게 공식적으로 배포하는 것을 의미합니다. Git에서는 태그를 사용하여 특정 커밋을 릴리스 버전으로 표시하고, 이를 통해 안정적인 버전을 관리합니다. • 릴리스는 주로 시맨틱 버저닝(Semantic Versioning)을 따라 v1.0.0, v2.1.3과 같은 형식으로 명명됩니다. • 각 릴리스는 변경 사항, 버그 수정, 새로운 기능 등을 포함한 릴리스 노트와 함께 제공됩니다. • GitHub, GitLab 등의 플랫폼에서는 릴리스 페이지를 통해 소스 코드, 바이너리 파일 등을 다운로드할 수 있게 제공합니다.
Git Release 명령어
기본 명령어
특정 커밋에 태그를 생성하여 릴리스 버전을 표시합니다.
태그 이름과 메시지를 작성하여 릴리스의 의미를 명확히 합니다.
Release 관련 명령어
Git Release
tag