[git] 터미널로 깃 하기 왕기초 (윈도우)

한지원·2021년 1월 18일
1

프로젝트폴더 진입 후 git폴더 생성 후 해당 폴더로 진입하여 연습! (window Cmder)
(터미널 깨끗하게 만들기 ctrl+k)

mkdir git
cd git (위에서 생성한 git폴더 진입)

git init (위에서 생성한 git 폴더 안에 저장소 .git 생성)
(저장소 삭제: rm -rf .git)

start .git (저장소 진입)
mac: open .git

새로운 파일 생성
echo hellow world! > a.txt
echo hellow world! > b.txt
echo hellow world! > c.txt

브랜치명의 색이 바뀌는데 이것은 working directory 안에 변경사항이 생겼고 아직 커밋되지 않았음을 뜻한다.

저장소의 정보를 확인 git status

untracked된 파일을 staging area에 옮기기
git add
git status를 통해 다시 확인해보면 내용이 달라졌음을 알 수 있다.

나머지 파일도 staging area로 옮겨주기

(이렇게도 가능)

이 시점에서 a.txt파일에 내용 추가하기
echo jiwon >> a.txt

위에서 git add를 해주어서 파일들을 git이 tracking하고있기 때문에 a가 변경되었음을 감지하고 상태에 표시해줌

위의 상태에서 git rm --cached <file>명령어를 이용하면 staging area에서 다시 working directory의 untracked상태로 바꾸어줄 수 있다.

변동사항을 git에 업로드하고싶지 않다면 해당 파일을 .gitignore에 넣어준다
echo *.log > .gitignore

파일 수정된 내용 확인하기
git diff : 추가 옵션 없이 diff만 사용하면 working directory에 있는 것만 보여줌

a/c.txt에서 a는 이전 버전이라는 뜻. (이전 버전이란 working directory에 있는 파일이라면 이전에 커밋된 버전, staging area에 변경된 내용이 있다면 그것이 이전 버전)
현재 커밋된 내용은 없으므로 staging area의 내용과 b/c.txt를 비교

@@ -1 +1,2 @@
-는 이전 버전 (1번째 줄이 이전 버전)
+뒤로는 수정된 버전 (1번째 줄부더 2번째 줄 까지 확인해보라는 뜻)

커밋
git commit -a : staging area의 모든 파일 커밋
git commit -am "message" :커밋 메시지 입력

리셋 (과감한 방법) - first, second, third 중 seconde commit으로 되돌아갈 시 third commit은 삭제되는 방법
git reset (second 해시넘버 앞 6자리) --hard
git log

리셋(소심한 방법) - second 상태로 넘어가도 다시 third로 돌아갈 수 있음
취소할 시점을 해시넘버로 입력한다.(가장 최근 것)
git revert (해시넘버 앞 6자리)
second에서 third로 넘어갈 때의 변화를 git revert (third 해시넘버 앞 6자리)를 이용해서 반대로 만들어주는 것
예를 들어 third가 second의 a.txt파일을 삭제하고 d.txt파일을 추가하고 b.txt를 변경했다면 revert를 통해 third에서 a.txt파일을 추가하고 d.txt파일을 삭제하고 b.txt파일을 second와 같이 변경시켜줌.
다시 third로 가고싶으면 git reset (third 해시넘버 앞 6자리)

브랜치 생성 git branch 브랜치명
브랜치 확인 git branch
브랜치 변경 git checkout 브랜치명

머지
git merge 병합할 브랜치명
시각적으로 보기
git log --graph --all --decorate

브랜치 삭제
git branch -D 브랜치명

0개의 댓글