Git 사용법

·2023년 9월 15일
0

🎯개발지식

목록 보기
2/7

자주 사용했던 기능들


1. git 특정 파일만 add할때

  • git status로 바뀐 부분을 찾고 기능별로 commit하기 위해 두개중 하나만 add하여 커밋 메시지를 넣을 경우
  • git add 뒤에 해당부분의 경로를 넣어준다

  • git status를 하면 노란부분은 로컬에 들어가고 빨간 부분은 들어가지 않았다

  • 해당 노란부분의 커밋메시지를 넣어주면 완료


2.잘못된 add 취소

  • git reset HEAD [file]를 통해 add 취소가능

    • 뒤에 파일이 없는 경우 add한 파일전체 취소
  • 파일이 있을경우 경로까지 포함하여 삭제한다

  • git status를 하면 add가 취소된것을 알수 있다


3.잘못된 커밋 삭제하기(stack처럼 삭제)

  • git log를 통해 커밋한 내용들 중 삭제가 필요할 경우
  • git reset HEAD^ 가장 최근 커밋삭제
  • git reset HEAD~2 최근에서 2번째까지 삭제

4.commit 한 메시지 수정하기

아직 push하지 않고 commit만 한 상태에서 메시지를 수정하고 싶을때

git log
  • git log를 통해 커밋한 내용들을 보며 수정할 곳을 맨위에서 부터 순서대로 찾는다
git rebase -i HEAD~1
  • git rebase -i HEAD~8 가장 최근에 커밋한 내용부터 8번째까지 커밋한 내용중 수정하기

  • 여기서 먼저 바꾸고자 하는 커밋의 부분을 i를 눌러 pick 부분만 -> reword로 바꿔줘야한다. 바꾸고자하는 하는 부분을 reword로 바꾸었다면 esc -> :wq를 통해 나간다

  • 이제 reword 된 부분을 수정할 수 있으며 바꾸고자하는 하는 메시지를 수정후 esc -> :wq를 통해 나가면 다음 reword로 넘어가면서 저장이 된다.

  • 다시 git log를 하면 바뀐 커밋의 내용을 볼 수 있다

5. commit후 강제종료 할 경우

  • 만약 git 작업하던도중 멈추었을때 강제로 나가게 되어 다시 수정할때 기존의 작업 하던 commit이 남아 있어 처리해달라고 에러가 발생한다

    1) q를 눌러 해당 부분을 나가준다.
    2) 노란박스의 .git/.COMMIT_EDITMSG.swp" 이부분의 경로로 들어가서 .swp 파일을 삭제해준다
    3) 파일이 보이지 않는다면 ls -all로 찾는다
    4) rm COMMIT_EDITMSG.swp(rm 파일이름)을 해주면 파일이 삭제된다
    5) 해당 파일을 삭제하고 커밋의 내용을 수정할 때 해당 부분이 또 뜬다면 rm -fr ".git/rebase-merge" 해주면 완벽하게 삭제되어 잘 작동한다

    $ git rebase -i HEAD~1
    fatal: It seems that there is already a rebase-merge directory, and
    I wonder if you are in the middle of another rebase. If that is the
    case, please try
    git rebase (--continue | --abort | --skip)
    If that is not the case, please
    rm -fr ".git/rebase-merge"
    and run me again. I am stopping in case you still have something
    valuable there.

6. 로컬에 원격 브랜치가 없을경우

1) 로컬에 원격 브랜치를 업데이트(remote/origin/~~)

  • git remote update
  • git branch -a (시 원격 브랜치들 remote/orgin/~~ 업데이트)

2) 로컬에 원격 브랜치 만들기

  • git checkout -b ch-bank origin/ch-bank

3) master 브랜치 ch-bank로 업데이트

  • git merge master

4) 원격에도 업데이트

  • git push origin ch-bank

0개의 댓글