Develop

16일_Git 과 GitHub 본문

백엔드/KDT_Programmers

16일_Git 과 GitHub

230801 2025. 3. 25. 23:08

안녕하세요.

오늘은 16일차(4주 2일차) 입니다.

 

오늘은 알고리즘 역량평가를 보고 Git과 GitHub 특강을 들었습니다.

특강 강사님께서 자료를 이해하기 쉽게 준비해주셔서 너무좋았습니다.

 

평소에 혼자 인텔리제이에서 깃허브명령어 검색하가면서 커밋 되돌리려다가 꼬이고 그랬는데

그때 쓰던 명령어들이 정리가 돼서 기분이 좋습니당

 

 


 

 

1. 개념/용어

 

Git과 GitHub

 Git: 버전 관리 시스템

 GitHub: Git을 기반으로 한 웹 호스팅 서비스

GitHub Actions: 코드 빌드, 테스트, 배포 등을 자동화하는 CI/CD 도구

    IDE 사용법: GitHub Actions 파일을 설정하고 워크플로우를 정의하여 자동화 작업을 구성

 

동기화 여부

Untracked: 동기화하지 않을 파일

  • git reset 사용 시 untracked 로 전환됨
  • stage라고 불리는 임시공간으로 분리됨

 

Tracked: 동기화할 파일

  • git add 사용 시 tracked 로 전환됨

 

 Repository (저장소): 프로젝트 단위로 관리되는 저장소

 

Head: Commit의 포인터 역할 (작업중인 branch 나 commit 을 바라봄)

 

Checkout: Head를 옮기는 작업

 

Branch: Repository에 존재하는 분기

 

Merge: 두 브랜치의 커밋을 합쳐 새로운 커밋을 생성하는 작업

 

Squash and Merge: 여러 개의 커밋을 하나로 묶어 히스토리를 정리하는 방법

 

Conflict: Merge 시 발생하는 코드 충돌

 

Rebase: 커밋 순서를 재배열하는 작업

 

Revert와 Reset

Revert: 커밋을 취소하며 새로운 커밋을 생성

Reset: 특정 커밋으로 되돌아가며 이전 커밋을 제거

 

기타

Cherry-pick: 다른 브랜치의 커밋을 현재 브랜치에 적용하는 작업

Stash: 코드 변경 사항을 커밋하지 않고 임시 저장

Submodule: Git repository를 다른 Git repository에 포함시키는 기능

 

 


2. IDE에서 확인할 수 있는 기능

 

1. Git Blame

Git Blame: 코드 라인별로 언제, 왜 수정되었는지 확인할 수 있는 기능

IDE 사용법: 코드 라인 우클릭 → Annotate with Git Blame

 

2. Pull Request

PR: 다른 브랜치에 작업한 내용을 병합하기 전에 코드 리뷰를 받는 과정

IDE 사용법: GitHub와 연동하여 PR을 생성하고 리뷰 받을 수 있다.

 

3. Squash and Merge (IDE 흉내내기)

Squash and Merge: 여러 개의 커밋을 하나로 묶기

IDE 사용법: git reset → 소프트 옵션 → 변경사항을 로컬에서 들고 있고 새로운 커밋 생성

 

4. Git Push/Commit

Commit: 커밋 단위로 변경 사항을 기록

IDE 사용법: Command + K (Commit), Shift + Command + K (Push)

 

5. Gist

Gist: 코드 조각이나 메모를 빠르게 공유하는 방법

IDE 사용법: GitHub에 접속하여 코드 블록을 우클릭 후 “Create Gist”로 공유하거나, GitHub에서 Gist 기능을 활용하여 빠르게 코드 조각을 생성하고 공유할 수 있다.