카테고리 없음

Git

Cadi 2024. 12. 13. 01:18

Git : 분산 버전 관리 시스템 

우리가 코딩을 하면서 매번 새로운 저장을 하고, 덮어쓰고 하다보면 용량도 커지고 관리도 어렵다. 

그렇기 때문에 Git이라는 시스템을 사용해서 버전을 관리한다.  Git은 변경 사항을 기록하고, 과거로 돌아가거나 

협업에 용이한 여러가지 기능을 제공한다.

 

Git의 주요 개념

  1. 저장소(Repository) 
    : Git에서 작업을 관리하는 단위, 프로젝트의 모든 파일과 변경 이력을 저장함, 
      로컬 저장소와 원격 저장소가 있음
  2.  커밋(Commit)
    : 파일의 상태를 저장하는 스냅샷, Git은 파일의 변경 이력을 커밋 단위로 기록함
  3.  브랜치(Branch)
    : 프로젝트의 분리된 작업 공간. 독립적으로 작업한 후 합칠 수 있다.
  4. 원격 저장소(Remote Repository)
    :GitHub나 GitLab과 같은 플랫폼에서 제공하는 저장소, 협업에 용이하다.

 

자주 사용하는 명령어

  1. 초기화 및 상태 확인
    • git init : 현재 폴더를 Git 저장소로 초기화함
    • git status : 현재 작업 디렉토리의 상태를 보여줌
  2. 파일 추적 및 커밋
    • git add [파일명] : 변경된 파일을 커밋 대상으로 선택(스테이징 단계)
    • git commit -m "커밋 메세지" : 변경 사항을 저장소에 저장(메세지로 이름붙여짐) 
  3. 변경 사항 확인
    • git diff : 작업 중인 파일의 변경 내용을 보여줌
    • git log : 커밋 이력을 보여줌
  4. 브랜치 관리
    • git branch [브랜치명] : 새 브랜치를 생성
    • git switch [브랜치명] : 다른 브랜치로 이동
    • git merge [브랜치명] : 브랜치를 병합 (충돌 시 충돌 되는 코드 둘 다 보임, 하나를 지워주면 자동 병합)


  5. 과거 상태로 복원
    • git reset [커밋ID] : 특정 커밋[ID] 상태로 이동함, 기록이 지워질 수 있음
    • git revert [커밋ID] :이전 상태로 돌아감, 돌아갔다는 복구 기록도 남김
  6. 무시할 파일 설정
    • gitignore: 추적하지 않을 파일/폴더를 지정, 해놓지 않으면 commit할때마다 시간이 오래걸림, 사이트도 존재
    • git remote add origin [URL] : 원격 저장소를 연결(여기서 origin은 원본을 나타내기 위한 것, 변경 가능]
    • git push : 로컬 변경 사항을, 원격 저장소에 업로드
    • git pull : 원격 저장소에서 최신 변경 사항을 가져옴
    • git fetch : 원격 저장소에서 변경 사항을 기록하지만 병합은 하지 않음원격 저장소와 연동

이런 명령어 등을 쓰며 Git을 사용할 수 있다. 

진짜 놀라운점은 리누스 토르발스가 불편해서 2주만에 만들었다는 것.......세상은 넓고 천재는 많다.

 

GitLab이나 GitHub는 Git을 이용해서 협업을 하는 툴이다. 중요한 것은 Git 그 자체 !!