git status, add, gitignore, commit, log, checkout, diff

Web Development assistant·2022년 2월 15일
0

# ETC

목록 보기
9/17

시작하기 앞서

https://git-scm.com/downloads
위의 경로를 통해 깃을 설치 할 것

깃에 사용자 이름과 이메일 등록하기 (영어로 할 것)

git config --global user.email "영어 이메일을 입력하세요" //git config --global user.email "google@gmail.com"
git config --global user.name "영어 이름을 입력하세요" //git config --global user.name "google"

명령어

init, status, add

  1. git init (깃 등록)
  2. git status (깃의 상태, 브랜치, 커밋 상태, 파일목록... 조회가능)
  3. git add 파일명.txt (파일 추가) 한뒤 git sataus를 보면 초록색으로 추가가 됨
  4. vscode 기준 터미널이 너무 지저분 하다면 clear

초록색 : 스테이지
빨간색 : 언트랙드

스테이지드에서 언트랙드로 되돌리려면 git rm -- cached 파일일명.txt

git add

모든 파일을 스테이지에 올리려면 git add . (한 칸 띄고 맞침표를 적는다)

git rm- cached -r

스테이지에 폴더를 지우려면 git rm --cached -r 폴더명

.gitignore

.gitignore 스테이지에 올리고 싶지 않은 파일 및 폴더들은 여기에 관리해준다.


.gitignore (확장자 없음) 파일을 생성한 뒤 무시하고싶은 파일 또는 파일명 을 적어준다.

위의 사진같이 folder 폴더가 사라져있고 .gitignore 만이 남아있어
git add . 로 스테이지에 올려주었다.
.gitignore는 관리 해줘야 한다. 따라서 스테이지에 올려줌.

commit

git commit


git commit 명령어를 치면 위와같이 파란 글씨가 나타는데
그 위에
1. Initial commit 이란 코멘트를 남겼고
2. esc를 눌러 빠져 나온 뒤
3. :wp (write , quit)를 하여 저장하였다.

또는

git commit -m "Initial commit" 명령어를 써도 똑같이 동작함


마스터 브랜치에 4개의 파일이 변경되었고, 4줄이 추가되었다.

log

git log 커밋한 로그 히스토리 볼 수 있음.


1. 커밋된 고유 id
2. 커밋 시간날짜
3. 커밋 코멘트

checkout

git checkout -- 파일명.txt


파일 1개를 수정한 경우 modified : 파일명이 뜬다.
수정을 되돌리려면 git checkout -- 파일명 을 입력한다(띄어쓰기 조심)

git commit -am 또는 git commit -a -m "커밋할 코멘트"

수정을 하고 커밋을 하려면 add를 한뒤 커밋을 해야하는데
이 과정을 하나로 합친 명령어

커밋 메시지는 미래의 나를 위한 메모이니 한 줄이라도 상세하게 적으면 좋다.

diff

git diff


스테이지가 modified인 경우 diff를 사용해 수정 내역을 알 수 있다.

github와 연결하기

repository 생성


repository를 생성하면 나오는 아래 두줄의 명령어를 vscode의 터미널에 적어준다.
여기서 주의 해야할 점
나의 브랜치는 현재 master로 등록되어 있다.
따라서 위 사진의 명령어인 git push -u origin main을 할 경우
error: failed to push some refs to 'https://github.com/jiseong0612/test123.git'

와 같은 에러를 때려 맞기 때문에
git push -u origin master로 바꿔야 한다.
origin : 원격 이름 , master : 로컬 이름

push

git remote add origin https.... .git 으로 최초 1회 원격의 리포지토리와 연결해 준 후
그 다음부턴
git push origin master를 이용하여 로컬의 깃에서 원격의 깃허브로 푸시해주면 된다.( 가운데 -u 빼도 잘 됨)

pull

git pull 명령어를 사용해 협업을 할 경우 원격의 리포지토리의 소스를 로컬의 나의 소스와 일치 되게 업데이트를 해준다.

한글깨짐

이건 터미널의 문제 각각의 IDE가 다르므로 검색하여 해결

#실수로 커밋했다면?

reset

git reset HEAD~1
head는 깃 커밋 목록의 최상단. 즉 가장 최근에 한 커밋
다만 수정했던 내용은 그대로 있고 커밋만 풀린다. 커밋 자체를 제거해버린다. 히스토리에 안 남음

revert

git revert HEAD 실수로 한 커밋의 내역을 지우지 않고 과거로 돌아가면서 새로운 커밋을 남김 //reset은 아예 사라져버림
협업인 경우 revert를 쓰는게 깔끔

0개의 댓글