230111 TIL

이지섭·2023년 1월 11일

오늘의 공부

git 공부 정리중... (내용추가예정)

깃 팁

  • git log —oneline —all
  • git diff 바로전 커밋과 비교
  • git difftool 바로전 커밋과 비교, 좀 더 보기편한 화면
  • git difftool 커밋아이디 특정커밋 비교
  • IDE나 에디터에서 지원하는 기능들도 많다
  • HEAD 현위치
  • merge 방법
    • 기준이 되는 브랜치로 이동
    • git merge 합칠브랜치명
    • 각각 다른걸 개발했으면 바로 머지 끝
    • 같은 파일 같은 줄을 수정했으면 충돌
      • 원하는 코드만 남기고 충돌되는거 지운다음에
      • git add, git commit -m “머지충돌 해결완료~"
    • 애초에 안겹치게 협업 잘 할 것
  • 머지해도 브랜치는 남아있다
    • 일반적으로는 머지하고 바로 삭제함
    • git branch -d 브랜치명
      • 머지 한 브랜치 삭제
    • git branch -D 브랜치명
      • 머지 안한 브랜치 삭제
  • merge 방법도 여러가지
    • 3way merge
      • 기준과 신규 각각 커밋이 있고, 둘을 합침
      • 가장 기본이지만, 너무 많이 하면 더러워짐
      • main 브랜치 로그만 보려는데 곁다리 브랜치 로그까지 다나옴
    • fast-forward merge
      • 기준에는 커밋이 없고, 신규에만 커밋이 있음
      • 신규가 그냥 다시 기준이 되면서 합쳐짐
      • git merge —no-ff 하면 강제로 3way merge 됨
    • git rebase & merge
      • 신규에서 개발중이었는데 기준에 커밋이 생긴 경우
      • 신규 갈라져나왔던 부분을 떼어서 기준 최신커밋에 붙인다
        • 단점 : conflict 많이 나서 귀찮다
      • 그리고 ff 머지하면 깃브랜치 한줄로 관리 가능
      • 간단하고 짧은 브랜치들
      • 방법
        • 신규 브랜치로 이동
        • git rebase 기준브랜치명
        • 기준브랜치로 이동해서 신규브랜치를 ff merge
    • squash and merge
      • git merge —squash 새브랜치
      • 여러개의 커밋을 하나의 커밋으로 합친(squash) 후 merge 한다
        • pick을 사용해서 내가 원하는 것들끼리 묶어서 원하는 커밋 수로 압축할 수 있다
      • 기준 브랜치에는 하나의 신규 커밋만 생기게 된다
    • 팀마다 정해진 규칙이 있다
      • XX팀 브랜치/머지 가이드
      • 안중요한 브랜치는 squash
      • feture, develop 브랜치는 3way merge
  • git push -u 원격저장소주소 올릴로컬브랜치명
    • -u는 주소 기억해두라는 의미이므로, 한번 쓴 이후부터는 git push만 해도 됨

메모

  • MVC 패턴 정리
  • 알고리즘 풀이
profile
Stop thinking. Just do it.

0개의 댓글