카테고리 없음

git_git, repository, commit

멍주다배 2024. 12. 13.

git

  • Git
    분산 버전 관리 시스템 (distributed version control system)
    • 버전 관리 = 코드와 히스토리(버전)을 관리하는 도구
    • 전체를 여러 개 복사해서 저장하는 것이 아닌 변경 사항만 각 버전으로 저장
    • 이전 버전과의 변경 사항 비교 및 분석
  • GitHub
    git 기반의 저장소 서비스

 

  • linux 명령어
더보기
  • ls: 현재 위치의 파일이나 폴더 목록 보기
  • pwd: 현재 위치 보기
  • clear: 창 깨끗하게 지우기
  • cd '경로': 현재 위치를 원하는 곳으로 이동하기 (한글 폴더는 '폴더 이름'처럼 '' 이용)
  • cd ..: 상위 폴더로 이동하기
  • touch '파일 이름': 파일 만들기
  • mkdir '폴더 이름': 폴더 만들기
  • rm '파일이름': 파일 지우기
  • rm -r '폴더 이름': 폴더 지우기

 

Repository

특정 디렉토리를 버전 관리하는 저장소


git init: 로컬 저장소 생성, 버전 관리를 위한 모든 것이 들어가있음 (직접 건들일 건 없음)


주의 - init 하고 거기서 다시 init 하지 않기

git init하면 .git 파일이 생성 -> 거기에 다시 init 하면 또 버전 관리 폴더가 생성 -> 레퍼지토리가 명확하지 않아서 버전 관리에 혼선을 줌 -> 꼬임

 

깃 세가지 영역을 바꿔가면서 버전 관리 하는 것

  • working directory: 내가 작업하고 있는 현재 디렉토리 = 실제 공간
  • staging area: commit으로 남기고 싶은(특정 버전으로 남기고 싶은) 파일들이 모여있는 곳 = 가상공간
  • repository: commit들이 저장되는 곳

 

git add 파일: staging area로 올림 = commit으로 남겨질 준비
git commit -m "커밋 메세지(버전 이름)": staging area에 있는 파일을 repository로 옮겨 버전 관리를 시작한다고 말하기

 

a.py파일 상태 흐름

untracked(working directory) -> git add -> tracked(staging area) -> git commit -> commited(repository)
a.py파일 = tracked 상태
a.py 파일 수정 = modified 상태
다시 git add, git commit 해서 commited 상태로 만들어야함

 

git log: git commit한 결과 /버전 확인
git status: 현재 진행사항 확인

git add 파일 파일 : 특정 파일들만 add 하고싶을 때
git add . :수정된 모든 파일 한번에 staging area로 옮기기

git restore --staged {file}: add 취소하기

 

commit을 기반으로 local과 remote가 소통

commit 하나를 remote로 올리기 (로컬 저장소와 연결)
git remote add origin 레포지토리 주소

 

프로젝트 파일을 Git에 추가하고 커밋

  1. git add .
  2. git commit -m "Initial commit"

로컬 브랜치를 GitHub 원격 저장소에 푸시

  1. (git branch -M main: master)
  2. git push -u origin main

원격 저장소가 잘 연결되었는지 확인
git remote -v

 

remote에서 만든 레포를 로컬로 가져오기

  1. git clone 레포지토리 주소
  2. git push origin master