TIL

[멋쟁이사자처럼 부트캠프 TIL회고] 62일 : Git 연습

Cadi 2025. 1. 21. 16:43

오늘 배운  내용

 

1. Git - Branch

2. Git - Merge, Colflict

3. Git - ignore, LFS

 

 

Git - Branch

Branch

  • 코드를 독립적으로 작업할 수 있는 가상의 작업 공간
  • 보통 main이라고 이름 붙인 브랜치는 배포 가능한 안정적인 코드를 저장
  • 다른 브랜치들은 새로운 기능 개발이나 버그 수정을 위한 임시 브랜치인 경우가 많음

명령어

  • git branch <브랜치명> : 브랜치 생성
  • git checkout <브랜치명> : 브랜치 전환
  • git switch <브랜치명> : 브랜치 전환(최신)
  • git merge <병합할 브랜치>

 

Git -  Merge  & Conflict

 

Merge

  • 서로 다른 브랜치를 합칠 때에 사용하는 명령어
  • Squash : 여러개의 커밋을 하나로 합치는 작업, 보통 PR(Pull Request) 병합 시 사용하며 히스토리를 깔끔히 유지
  • Rebase : 브랜치의 변경 기록을 다른 브랜치 위에 재정렬

 

위 : Squash / 아래 : Rebase

 

 

Conflict 

  • 서로 다른 브랜치에서 같은 파일의 동일한 부분을  수정하면 일어나는 충돌(Conflict)
  • 충돌 후에 구분선이 표시되고, 수동으로 수정 후 저장 후 git add로 충돌해결을 알리고 커밋

Git - Ignore와 LFS

 

Git ignore

  • .gitignore 파일을 이용해 특정 파일이나 디렉터리를 추적하지 않도록 설정 가능
  • 빌드 파일, 환경 설정 파일, 민감한 정보 등을 설정하곤 함
  • https://www.toptal.com/developers/gitignore 혹은 리퍼지토리 생성 시 설정 가능 ( 추가로 커스텀 가능)

Git LFS

  • Large File Storage 즉, 대용량 파일을 Git의 히스토리와 분리해 외부 스토리지에 저장하는 확장 도구
  • 주로 이미지, 비디오, 사운드 파일 같은 대용량 파일에 사용

명령어

  • git lfs install : LFS 설치
  • git lfs track : "*.psd" : .gitattributes 파일에 추정 정보가 추가됨 psd 확장자 전부