단어 비고
분산 버전 코드의 변경 사항을 번호로 붙여 놓은 것
git/github git: 프로그램 그 자체 → 파일의 변경 사항을 추적하고 여러병의 사용자들간에 해당 작업을 조율하기 위한 분산 버전 관리 시스템
github: 클라우드로 저장할 수 있는 공간
중앙 집중식 버전 관리 시스템 중심이 되는 중요한 곳에서 어느쪽에도 치우치지 않고 관리한다.
git init 내 로칼 PC에서 working directory라는 가상의 공간을 만들기
working directory 실물로 찾을 수 없는 가상의 공간.
두 가지로 나뉨: 1. Tracked Files, 2. Untracked Files(새로 생성했지만 git add로 스테이징 영역에 추가하지 않은 파일.)
git add a.txt a.txt 파일을 stage에 올려 tracking(추적)한다. working directory의 Tracked Files 에 추가 되는 과정 이후에 a.txt 파일 변경이 있으면 Tracked Files 공간의 일부인 unstaged file 공간으로 이동 → 여기서 다시 a.txt 파일을 stage에 올리기 위해 다시 git add a.yxy 해야함
git commit stage 있는 파일들을 history에 추가
git remote 로칼 저장소에 연결된 원격 저장소를 관리할 때 사용 git remote -v: 현재 로컬 저장소에 연결된 원격 저장소의 URL을 확인.

git remote add <name> <url>: 새로운 원격 저장소를 추가.

git remote remove <name>: 기존 원격 저장소를 제거.

git remote rename <old_name> <new_name>: 원격 저장소의 이름 변경. | | git status | 현재 작업 중인 저장소의 상태 확인 | stage인지, Tracked Files인지 Untracked Files인지 | | git diff | 파일의 변경 사항을 확인할 때 사용 | git diff: 워킹 디렉토리와 스테이징 영역 간의 변경 사항 비교.

git diff --staged: 스테이징된 파일과 마지막 커밋 간의 변경 사항 비교.

git diff <branch1> <branch2>: 두 브랜치 간의 차이 비교. | | git log | commit 기록을 볼 수 있는 명령어 | | | git show | 특정 commit의 정보를 보고 싶을 때 | ex) git show 213bf | | git blame | 파일의 각라인이 어떤 커밋에서 수정되었는지 추적 | | | git stash | 병경된 파일을 잠시 쓰레기통에 저장 → git add로 스테이징 영역에 추가하지 않은 파일(워킹 디렉토리를 꺠끗하게함) | git stash apply (복원) git stash drop (삭제) | | 3-way merge | 병합할 두 브랜치와 공통 조상을 이용하여 병합 | 가장 일반적이고 이 방식만 사용해왔다. | | fast-forward merge | 사이드 브랜치가 메인 브랜치가 되는 방법 → git merge —ff <브랜치명> | 반드지 전 main 브랜치에 사이드 브랜치가 만들어진 이후에 아무런 commit이 없어야한다. | | squash and merge | 사이드 브랜치를 없앤다. | 사이드 브랜치의 commit 기록도 삭제됨 | | rebase and merge | 3-way 머지보다 깔끔한 방법 | | | git restore | commit하지 않은 변경사항을 마지막 상태로 되돌림 | | | git revert | 지정한 commit에서 변경된 내용을 되돌됨

Tracked Files의 상태

Tracked Files는 Git이 관리 중인 파일이며, 다음 세 가지 상태 중 하나에 있을 수 있습니다:

  1. Unmodified:
  2. Modified (Unstaged):
  3. Staged: