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에 추가하고 커밋
- git add .
- git commit -m "Initial commit"
로컬 브랜치를 GitHub 원격 저장소에 푸시
- (git branch -M main: master)
- git push -u origin main
원격 저장소가 잘 연결되었는지 확인
git remote -v
remote에서 만든 레포를 로컬로 가져오기
- git clone 레포지토리 주소
- git push origin master