깃&깃허브 입문/2. 버전 관리

진영민·2022년 7월 12일
1

git

목록 보기
2/6

1. git 저장소 만들기

$git init

-->현재 디렉토리에서 깃을 사용할 수 있도록 디렉터리를 초기화하는 명령어
.git 디렉토리는 감춰져 있음.

$git init 이름

-->해당 이름으로 파일을 만들고 그 안에서 $git init을 한 효과

2. git 버전

2-1 git 버전 만드는 단계

작업 트리

파일 수정, 저장 등의 작업을 하는 디렉터리

스테이지

버전으로 만들 파일이 대기하는 곳

저장소(repository)

스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳

2-2 git 버전 만들기

먼저,
$git status
를 이용하여 깃 상태를 확인할 수 있다.

작업 트리 -> 스테이지 (add)

$git add hello.txt

hello.txt를 스테이지에 넣기

$git add .

현재 저장소에서 수정된 파일을 한꺼번에 스테이징에 올리는 명령어

스테이지 -> 저장소 (commit)

$git commit -m "message1"

스테이지에 있는 파일을 버전으로 만드는 명령어

#git commit -amend

방금 커밋한 메시지를 수정하는 명령어

작업 트리에서 수정한 파일 되돌리기

$git checkout -- hello.txt

스테이징 되돌리기

$git reset HEAD hello.txt

add명령어를 통해 스테이지에 올린 것을 내릴 때 사용하는 명령어

$git reset HEAD^

가장 마지막에 한 commit을 취소하는 명령어, 이러한 방법으로 취소하면 스테이징도 함께 취소된다.

$git reset --soft HEAD^

최근 커밋을 하기 전 상태로 작업 트리를 되돌림

$git reset --mixed HEAD^

최근 커밋과 스테이징을 하기 전 상태로 작업 트리를 되돌림. default값

$git reset --hard HEAD^

최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 트리를 되돌립니다.

HEAD^는 가장 최근을 의미하는 것이고, commit hash를 입력하면 해당 commit을 의미한다.

$git revert 커밋 해시

커밋을 되돌리지만 수정한 것들을 남겨두고 싶을 때 사용함.

기본 명령어들

$git status

->현재 상태를 나타내 주는 명령어
on branch master : 현재 master 브랜치에 있다는 의미

No commits yet : 아직 커밋한 파일이 없습니다.
Changes not staged for commit : 파일이 수정 된 상태

nothing to commit : 현재 커밋할 파일이 없습니다.
untracked files : 아직 한번도 버전을 관리하지 않은 파일
changes to be committed : 해당 파일을 커밋할 예정

$git log

커밋한 버전에 대한 설명. 커밋을 만든 사람, 만든 시간과 커밋 메시지가 함께 나타남.

$git log --stat

커밋에 관련된 파일까지 함께 살펴보는 명령어

$git stash

수정 된 내용을 스테이징하지 않은 채로 숨기는 방법

$git stash pop

stash로 숨긴 내용을 꺼내는 방법

번외) 작업 트리 -> 저장소

$git commit -am "message"

한 번 커밋한 파일을 다시 커밋할 수 있음.

profile
코린이

0개의 댓글