GItHub란 Git을 사용하는 웹 서비스로 깃과는 다른 것입니다
Git이란?
- 컴퓨터 파일의 변경사항을 추적하고, 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템입니다.
Git의 핵심 기능
- 버전 관리
✓ 문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 자동으로 저장해줍니다. - 백업
✓ 원격 저장소(GitHub 등)에 백업할 수 있습니다. - 협업
✓ 팀원 간 파일을 편하게 주고 받으면서 작업이 가능합니다
✓ 수정에 대한 기록이 남으므로, 오류 파악이 쉽습니다.
Git 초기 사용자 설정
Git의 초기 사용자 설정을 위해서는 이름과 이메일 주소를 설정해줘야 합니다.
git config --global user.name "사용자 이름"
git config --global user.email "사용자 이메일"
Git 저장소 만들기
- Git 저장소를 만들 플더로 이동합니다.
- 다음 명령어를 통해 Git 저장소를 만듭니다: git init
- Git 저장소가 생성됐는지 확인합니다: ls -al
- 동기화를 제외하려면 .gitignore라는 이름의 text파일에 파일명을 기록할 수 있습니다.
✓ .gitignore에 지정된 파일과 폴더는 원격저장소에 업로드되지 않습니다.
Git에서의 버전
- 문서를 수정하고 저장할 때마다 새로운 버전이 생성됩니다.
- 파일 이름은 그대로 유지하면서 다양한 버전을 가질 수 있습니다.
✓ 각 버전마다 작업했던 내용을 확인할 수 있고, 이전 버전으로 되돌아갈 수 있습니다.
state와 commit
- 작업 트리 working tree
✓ 파일 수정, 저장 등의 작업을 하는 디렉토리 - 스테이지 stage
✓ 버전으로 만들 파일이 대기하는 곳 - 저장소 repository
✓ 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳
버전 만드는 과정
- 작업 트리에서 작업: 파일 생성, 파일 수정 등
- 버전으로 만들고 싶을 때는 스테이지에 넣습니다.
✓ 여러 개의 파일을 스테이지에 넣을 수 있습니다.
3. "커밋 commit" 명령을 내리면 새로운 버전이 생성되면서 저장소에 저장
파일 수정하기
작업 트리에서 파일 수정하기전에 hello.txt라는 파일을 하나 만들어뒀습니다.
- Git 상태 확인: git status
✓ 현재 branch main에 있습니다.
✓ 아직 커밋한 파일이 없습니다.
✓ 커밋해야 할 파일이 1개 있는 것을 확인할 수 있습니다.
수정(또는 생성)한 파일 스테이징 하기
- 스테이징 staging
✓ 작업 트리에서 수정한 파일을 스테이지에 추가하여 버전 만들 준비를 하는 것입니다.
✓ 명령어: git add - "hello.txt"를 스테이징 하기: git add hello.txt
- git 상태 확인: git status
✓ hello.txt. 파일이 untracked files에서 changes to be committed로 바뀐 것을 확인할 수 있습니다.
스테이지에 올라온 파일 commit 하기
- 커밋 commit
✓ git 에서 버전을 만드는 작업
✓ 커밋할 때는 해당 버전에 어떤 변경 사항이 있었는지 확인하기 위해 메시지를 기록해 두어야 합니다.
✓ 명령어: git commit - 커밋하기: git commit -m "수정한 내용1"
✓ 스테이지에 있는 모든 파일이 커밋되고, "수정한 내용1"이라는 커밋 메시지가 기록됩니다. - 깃 상태 확인: git status
✓ nothing to commit, working tree clean
저장소에 저장된 버전 정보 확인
- 저장소에 저장된 버전 확인: git log
✓ 방금 commit한 버전에 대한 설명(commit hash, commit한 사람, 시간, commit 메시지)이 나타납니다.
stating과 commit 한번에 처리하기
- 스테이징과 커밋을 한번에 처리하는 방법이 있습니다 (단 한번 commit 한 이후부터 사용 가능합니다)
✓ 명령어: git commit -am - 에디터로 hello.txt 파일 수정하기: nano hello.txt
- git 상태 확인: git status
✓ hello.txt 파일이 "modified" 상태로 변경된 것을 확인할 수 있습니다.
변경사항 확인하기
파일 내의 변경사항을 확인할 수 있는 방법이 존재합니다
- 목표: 현재 수정하고 있는 파일들과 최신 커밋을 비교하여 변경사항 확인하기
- hello.txt 파일 변경하기
- 변경사항 확인: git diff
✓ 특정 파일에 대해서만 변경사항을 확인하고 싶은 경우 "git diff 파일이름" 실행 - 수정한 파일을 최신 commit 파일로 되돌리기: git checkout --hello.txt
✓ open hello.txt 를 사용하여 최신 커밋 파일로 되돌려진 것을 확인합니다.
여러 파일 수정하기
- 2개의 파일을 모두 스테이징 하기: git add *
- 상태 확인: git status
- commit하기: git commit -m "commit all"
- commit 확인하기: git log --stat
✓ --stat 옵션: 커밋한 파일을 출력
상태 이해하기
- 파일을 생성해서 커밋을 하면 untracked에서 tracked 상태가 됩니다
- tracked 상태에서는 unmodified, modified, staged 간 상태 변경을 합니다.
작업 되돌리기
작업 트리에서 수정한 파일 되돌리기
- 수정한 내용을 취소하고 가장 최신 버전 상태로 되돌림
- 명령어: git checkout -- 파일이름
스테이징 되돌리기
- 스테이지에 올린 파일을 취소하여 다시 modified 상태로 만듭니다
- 명령어: git restore --staged 파일이름
스테이징된 파일 워크 트리로 내리기
- 스테이징된 파일을 다시 워크 트리로 내릴려면: git reset HEAD 파일이름을 사용합니다.
최신 커밋 취소하기
- 수정한 파일을 스테이징하고 커밋까지 했을 때, 가장 마지막에 한 커밋을 취소하기
- 명령어: git reset HEAD^
특정 커밋으로 되돌리기
- git에 저장된 다양한 버전들 중 원하는 특정 버전으로 되돌릴 수 있음
- 이 경우, 특정 버전 이후의 버전은 삭제됩니다.
- 명령어: git reset 커밋해시
'Git' 카테고리의 다른 글
Github 에 올린 json 파일 불러오기 (0) | 2024.10.09 |
---|