[강의] Git_협업하기

김하은·2023년 10월 25일
0

코드잇 강의 정리

목록 보기
29/60

협업하기

git push 전에 git pull을 해야하는 경우가 많을 겁니다

  • 로컬 레포지토리를 수정하는 동안 리모트 레포지토리에 변화(협업으로 인해)가 생겼다면 바로 git push를 할 수 없음
  • git pull: 리모트 레포지토리의 branch를 가져와서 현재 branch에 merge하는 커맨드

git pull말고 git fetch도 있어요

  • 브랜치를 가져온다: 브랜치가 가리키고 있는 커밋 이전에 이루어진 모든 커밋들을 가져온다는 뜻
  • git fetch: 머지는 하지 않고 가져오기만 함
    • 리모트 레포지토리에 있는 브랜치의 내용을 머지하기 전에 점검해야할 필요가 있을 때
    • 리모트 레포지토리에 있는 브랜치의 내용과 내가 작성한 코드를 비교해서 잘못된 부분이 없는지 검토해야할 때
  • git diff: 두 커밋 / 브랜치 간의 차이 보기
    git diff premium origin/premium
  • 리모트 레포지토리의 브랜치에 문제가 있을 때 해결 방법
    1. 잘못된 코드를 추가한 개발자에게 함수를 지우고 다시 리모트 레포지토리에 올려달라고 하기
    2. 잘못된 부분을 알아서 해결하고 다시 git push 하기
      • git merge origin/premium
      • 잘못된 부분 수정
      • 커밋 하고 푸시
  • 즉, git pullgit fetch와 merge를 합친 것!
  • 상황에 따라 적절하게 쓰기

이 코드는 누가 작성했을까?

  • git blame: 한 가지 파일이 완성되기까지 어떤 커밋들이 있어왔는지를 볼 수 있는 커맨드
    어떤 파일의 특정 코드를 누가 작성했는지 찾아내기 위한 커맨드
    git blame calculator.py
    git show 1e16 --> author
  • 한 번한 커밋은 나중에 다 조사대상이 됨

이미 Remote Repository에 올라간 커밋을 취소해야 한다면?

  • git revert: 최신 커밋의 작업을 되돌리고 다시 커밋을 해주는 커맨드
    git revert 6b5a
  • 만약 푸시를 한 후 git reset을 한다면 리모트 레포지토리 보다 로컬 레포지토리가 뒤에 있기 때문에 푸시가 안되므로 푸시를 한 후에는 git revert를 해줘야 함
  • 따라서 커밋을 낭비하고 싶지 않다면 git push를 하기 전에는 신중해야 함

여러 커밋 취소하기

  • git revert 2741..46ca: 2741 커밋은 포함 되지 않음
profile
아이디어와 구현을 좋아합니다!

0개의 댓글