git(+github) 필수 명령어

const job = '프론트엔드';·2023년 10월 5일
0
post-thumbnail

Git

  1. 버전 관리 - 한 파일로 모든 버전으로 쓰고 싶어서 (버전관리는 대체 프로그램은 많음)
  2. 협업 - 같은 파일을 동시에 작업하는 경우가 있음, 각각의 변경 사항을 한 파일에서 적용할 수 있음

1. git status

  • 현재 브랜치는 main이고 (기존 master에서 main으로 브랜치명을 변경한 상태)
  • 현재 수정된 파일(TodoList.jsx)이 있는데 커밋을 안했으니 커밋하라는 내용

2. git add

깃이 관리하게 해당 파일(파일 내부의 수정된 내용)을 포함시켜

2-1. git add 파일명

이 경우 해당 파일이 있는 모든 경로를 들어가서, 명령어를 작성해야 함

  • 이제 깃이 관리를 해주는 파일로 변경
  • stage 상태가 됨
  • unstage 하고 싶다면
git rm --cached 파일명

2-2. git add .

이 경우 변경된 파일 모두 깃 관리에 포함시키라는 의미임

3. git commit

현재 상태를 기억하기 위함(나중에 이 상태로 잘 찾아서 돌아올 수 있게)

  • git commit만 입력하면 터미널에 이런 것들이 생겨남

커밋메세지 작성하기

vim 빠져나오기

  • 커밋메세지 작성하고 esc누름
  • :치고, wq치면 나올 수 있음

간단한 방법 git commit -m "커밋메세지"


메세지를 보면

  • main브랜치, 4fe231c커밋 번호, 커밋메세지
  • 1개의 파일에 변화가 있었고, 1줄이 추가 됐다.

git log로 확인 가능

  • 커밋번호의 풀 정보
  • 작성자
  • 작성날짜
  • 커밋메세지

만약에 커밋하는 데 오류가 난다?

사용자 메일이 등록되지 않았을 수도 있음

git config --global user.eamil "메일주소"
  • 혹시, 나는 열심히 커밋을 하는데 잔디가 안생긴다?
  • 깃허브에 있는 메일정보와 깃에 등록된 메일이 다를 가능성 매우 높음 !
  • 이런식으로 메일 주소 바꿔주면 다시 잔디가 심어진다
  • 이걸 몰라서 왜 내 잔디밭은 듬성듬성 탈모일까.....했는데, 암튼 며칠전에 해결함ㅋㅋㅋㅋㅋㅋ

그리고 사용자 이름도 등록해야 함

git config --global user.name "이름"

그 다음에 커밋하면 오류가 안날듯 !

커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를 사용하십시오)

git commit -am "커밋메세지"

  • 이렇게 하면, git add . + git commit -m "커밋메세지" 한번에 가능

git diff : 바뀐 부분을 확인할 수 있음

  • 초록색 글씨 부분이 추가된 내용

git hub

git remote add origin(원격이름) url(repository url)

  • 깃 리모트 하겠다 = origin이라는 곳에 url을 등록하겠다

git push origin(원격이름) main(브랜치명)

  • push해서 서버(깃허브)에 저장하겠다

git pull origin main

  • 서버에 저장된(바뀐 사항) 것을 받아오겠다

git reset: git 커밋 되돌리기, 아예 흔적도 없이 지워버림

git reset HEAD~1

  • HEAD 현재 커밋된 위치
  • ~1 1개
  • 커밋만 되돌렸을 뿐 내용이 바뀌지 않음

git revert: 되돌리고 새로운 커밋, 지운 흔적은 그대로 있음

git revert HEAD
  • vim으로 들어가서
  • 커밋메세지 적기 - esc
  • : + wq

git branch

  • 현재 브랜치 조회 : main
  • 브랜드 추가

git checkout dev

  • 현재 브랜치 조회 : dev

기본적인 것만 정리해봤다.

이밖에 충돌이 발생했을 때 git merge, git rebase도 있음 !

profile
`나는 ${job} 개발자`

0개의 댓글