git은 프로그램 소스코드를 공통으로 관리하기 위한 플랫폼
github를 통해 어디에서나 프로젝트를 함께 할 수 있다
로컬 저장소 ↔ 원격 저장소 공유
working directory → staging area → repository
working directory: 작업공간, 모든 변경 사항들이 담김
staging area: 변경 사항들 중 후보들이 저장되는 공간
repository: 실제 저장소, 최종 버전이 저장됨
git 다운로드 및 설치, github 회원가입
프로젝트 폴더 생성 - 폴더 내에서 우클릭 - Git Bash Here
*ctrl + 마우스휠 조작으로 글씨 크기를 조정할 수 있음
> 최초 한번은 사용자 정보 설정
$ git config --global user.name "본인이름(영문)"
$ git config --global usesr.email 본인이메일
> 설정 후 확인
$ git config --list
*깃 명령어를 시작하기 전에 해당 폴더 안에서 버전관리를 해야 함
> 깃 명령어
git init : 깃 시작
*.git 폴더는 프로젝트 폴더 안에 존재하지만 숨겨져있음 → 보기 - 숨긴항목 체크
git status : 현재 깃의 상태
git add 파일명 : 해당 파일을 staging area에 추가
git rm --cached 파일명 : 해당 파일을 staging area에서 삭제
git add . : 파일을 전부 다 staging area에 추가
git commit -m "메시지" : 깃을 repository에 저장
git log : 커밋 이후 변경된 로그를 확인
*파일 수정시 add부터 다시 진행해야 함
git commit -am "메시지" : 추가와 커밋을 동시에
*git 창에 쓴 내용을 모두 지우고싶으면 clear 입력
실습
git init 시작
git status 상태확인
프로젝트 폴더에 t01.txt 파일 생성 후 git status 상태확인
git add t01.txt 파일 staging area에 추가
git status 상태확인
git commit -m "20210830 jiyeon 1st" repository에 저장
git status 상태확인
git log 변경된 로그 확인
t01.txt 파일 수정, t02.txt 파일 추가 후 git status 상태확인
git add . 모든 파일 staging area에 추가
git status 상태확인
git rm --cached t02.txt 파일 staging area에서 삭제
git status 상태확인
git add . 모든 파일 staging area에 추가
git commit -m "20210830 Leejiyeon 2nd" repository에 저장
git log 변경된 로그 확인
> 깃 명령어
$ git reset --hard HEAD^ : 커밋을 한단계 앞으로 되돌린다 - working directory, staging area, repository 모두 초기화
$ git reset --mixed HEAD^ : 커밋을 한단계 앞으로 되돌린다 - working directory 유지, staging area, repository 초기화
$ git reset --soft HEAD^ : 커밋을 한단계 앞으로 되돌린다 - working directory, staging area 유지, repository 초기화
^ 개수만큼 되돌린다
실습
*commit이 한 번만 되어있으면 reset 시 오류 (windows 기준) - 따라서 commit을 두 번 하고 reset 하도록 한다
git init - 파일 생성 - add - commit - 두번째 파일 생성 - 두번째 add - 두번째 commit
$ git reset --soft HEAD^
soft reset 후 log로 커밋이 취소된 것을 확인 - 다시 commit 진행
$ git reset --mixed HEAD^
mixed reset 후 log로 커밋이 취소된 것을 확인, status로 add도 취소된 것을 확인 - 다시 add, commit 진행
$ git reset --hard HEAD^
hard reset 후 log로 커밋이 취소된 것을 확인, 작업물까지 사라졌기 때문에 add/commit할 파일이 없는 것을 status로 확인
프로젝트 폴더에서 작업물 t02.txt 파일이 사라진 것을 확인할 수 있다
(만약 파일을 수정 후 커밋했었다면 파일 전체가 아닌 수정했던 내용이 사라짐)
* $ git reset --mixed HEAD^^
'course 2021 > Git' 카테고리의 다른 글
for Mac (0) | 2021.12.04 |
---|---|
Git02 (0) | 2021.09.04 |