Git & Github(feat. 얄코)

roadzmoon76·2022년 4월 17일
0

개발자 환경설정

목록 보기
8/8

Git은 왜 필요할까?

  • Git을 사용하면 내가 만들고 있는게 들어있는 폴더의 시간과 차원을 종횡으로 넘나들 수 있다.
  • Git은 여러사람들이 프로젝트에서 협업할 수 있도록 도와줌.

Git 명령어 모음

  • $ git --version : 깃 버전 확인
  • $ git init : 해당 폴더를 깃이 관리하라고 명령
  • $ git status : 현재 폴더에서 현재 폴더의 상황을 깃의 관점에서 보여줌
  • .gitignore : Git의 관리에서 특정 파일/폴더를 배제해야 할 때 사용
  • $ git add : 프로젝트에서 일어난 변화를 타임 캡슐에 담을 때 사용
    • $ git add 파일명 : 해당 파일
    • $ git add . : 모든 파일
  • $ git commit : 타임 캡슐 묻기
    • $ git commit -m "FIRST COMMIT" : 커밋 메시지까지 함께 작성
    • $ git commit -am "메시지" : 새로 추가된 파일(untracked files)이 없을 때만 사용 가능. add와 commit 한번에
  • $ git log : 커밋 내용 확인
  • $ git diff : 변경사항을 구체적으로 보여줌
    • j를 누르면 내려가고, k를 누르면 올라감. :q는 닫기(메시지가 길어지면 항상 vin 모드가 됨)

Reset vs Revert

Reset

  • 말 그대로 시간을 과거로 되돌림
  • 과거로 돌아가게되면 그 이후의 행적(commit)은 히스토리에서 지워버림
  • git log되돌아갈 시점의 커밋 해시를 복사(다른 애들과 구분이 될 정도로만 앞의 일부분만 복사해도 됨)한 후
    $ git reset --hard (돌아갈 커밋 해시) 를 입력하면 된다
    $ git reset --hard : 뒤에 커밋 해시가 없으면 마지막 커밋을 가리킴. 아직 커밋되지 않은 것들을 다 지우고 마지막 커밋의 상태로 돌아가고 싶을 때 사용

Revert

  • 과거로 돌아가면서 그 이후의 행적을 삭제하는게 아니라, 거꾸로 되돌아가는 행적을 다시 넣어줌
  • 거꾸로 되돌아가는 행적 하나하나를 기록으로 남길 필요가 있거나, 특정 과거 시점의 내용만 취소해야 하는 경우에 사용
  • 한번 공유가 된 코드들은 Reset을 사용하게 되면 협업시 심각한 오류가 생길 수 있다. 따라서 Revert를 사용해야 함
  • 되돌릴 것, 즉 취소할 커밋의 해시를 찾아야 함.
    $ git revert (되돌릴 커밋 해시) 한 후 vin 창에서 이미 커밋 내용이 적혀 있으니 :wq 로 저장후 나온다.
  • 리벌트 한 시점으로 갔을때의 파일을 후에 수정을 한다던가 하는 이유로 충돌이 생기면 과정 진행중 컴퓨터가 어떻게 할지 결정을 못하게 됨. 에러 메시지를 차례로 보면
    • $ git rm 해당파일 로 문제되는 파일 삭제 후
    • $ git revert --continue 로 마무리
    • :wq 로 vin 모드에서 커밋 메시지 저장후 나오기
  • $ git revert --no-commit (되돌릴 커밋 해시) 이렇게 하면 커밋해버리지 않고 revert 하므로, 원하는 다른 작업을 추가한 다음 함께 커밋 가능.(add만 되어있는 상황)
    • 취소하려면 $ git reset --hard
profile
크론병걸린 자퇴생, 개발자되기

0개의 댓글