4월 20일 학습내용

박도일·2022년 4월 20일
0

4월 학습내용

목록 보기
11/17

220419 복습

1 원격 명령어

  • 원격 저장소에 있는 것을 로컬로 불러오고 특정 위치를 지정 할 수도 있고,
    반대로도 할 수있다.
    • git fetch
    • git push
    • :

2 기타 명령어

  • Unix

    • cd : Chenge Directory
    • mkdir : Make Directory
    • touch : Make a file
    • vi
    • i를 누르면 편집모드
    • esc를 누르면 명령어 입력 모드
    • :wq 로 write & quit
    • ls : 리스트 출력
  • git init : Initialize repository

  • git log : Show history

  • git status : Show current status of current repository

  • git add : Add file to staging area

  • git config : Configure repository

  • git restore : Delete a version or Unstage files

3 Git의 내부 동작

  • HEAD : 커밋이나 브랜치에 대한 내용이 담겨 있음
  • refs/heads : 브랜치 관련 디렉토리
  • refs/tags : 태그 관련 디렉토리
  • 브랜치와 태그에는 커밋의 해시값이 들어 있다.
  • objects : 버전 관련 디렉토리

220420 수업내용

추가 명령어

rm -rf ./폴더이름 : 폴더 지우기
git clone /token@레포지토리 링크
클론 하고
config --local user.name ""
config --local user.email ""

Github Flow

  1. main 브랜치는 어떤 때든 배포가 가능하다.

    main 브랜치에 있는 것은 항상 안정적으로 유지. 실수로 main 브랜치에 푸시 하지 않도록 주의

  2. 새 작업을 하려면 main에서 새로운 브랜치를 만든다.

    브랜치 이름은 어떤 일을 하는지 명확하게 작성한다
    ex) fix_enemy_sqawn 등

  3. 작업한 것을 로컬 뿐만 아니라 원격에도 자주 푸시한다.

    협업하는 사람들과 공유를 할 수 있도록 커밋 할 때마다 원격에도 같이 푸시한다

  4. 피드백이다 도움이 필요하거나 병합준비가 됬다면 Pull Request를 연다
  5. 충분한 리뷰가 끝나면 main으로 병합한다.
  6. main에 푸시됬다면 즉각 배포되어야한다.

    CI/CD공부(현재는 하지 않을 것임)

main 브랜치 잠그기

  1. Github 해당 레포지토리에 들어가서 setting -> Branch Protection rules(add rule)
  2. Brand name pattern에 defalut 브랜치 입력(보통 main)

커밋 메시지

  • 타입
  • Feat : 새로운 기능 추가
  • FIx : 버그 수정
  • Docs : 문서 수정
  • Style : 스타일 관련 기능(코드 포맷팅, 세미콜론 누락, 코드 자체의 변경이 없는 경우)
  • Refactor : 코드 리펙토링
  • Chore : 빌드 업무 수정, 패키지 매니저 수정 등 잡다한 일(gitignore수정 같은 경우)
  • 제목
    제목은 명령문을 사용하며 50자 이내로 제한.
    끝에 마침표를 적지 않도록 주의한다.
    https://blog.ull.im/engineering/2019/03/10/logs-on-git.html
  • 본문
    생략이 가능
    구현 방법보다는 변경한 내용과 이유를 설명
  • 꼬릿말
    선택사항으로 보통 Github Issue추적을 위해 사용

Github 협업

  1. main 브랜치에서 기능 관련 브랜치를 만들고 체크아웃한다.

  2. 기능을 개발 할 때마다 커밋하면서 푸시를 한다.
    2-1. 개발 및 커밋하기 전 git fetch를 통해서 원격 저장소를 항상 최신화한다.
    2-2. main에 새로운 기능이 추가되었다면 내 브랜치로 병합한다. 이 과정에서 충돌이 발생 했을 시 충돌을 해결한다.
    2-3. 커밋하기 전 항상 내 코드를 스스로 리뷰한다.

  3. 기능 개발이 끝났다면 Pull Request를 연다.
    3-1. Pull Request 도중 충돌이 발생했을 경우 로컬에서 충돌 해결한 다음 푸시한다.

  4. 다른 사람한테 Pull Request를 열었다고 알려준다.

  5. 해당 팀원의 코드를 리뷰한다.

  6. 리뷰가 끝났다면 병합한다.

  7. 병합이 끝나면 원격 브랜치를 삭제한다.

알려진 버그

  1. main 직접 푸시 하는 경우 있음 -> 꼭 브랜치 만들기

  2. fetch 하세요

  3. Merge Pull Request 대신에 Close Pull Request

  4. Push != Pull Request, push를 한다고 Pull Request가 되는건 아님

  5. Pull Request를 병합한 뒤에 Delete Branch를 하는데 이거는 Remote Branch만 삭제함. Local Branch X

  6. Pull Request는 브랜치 하나 당 하나만 열 수 있음. 새로운 Pull Request를 열고 싶다면 이전 Pull Request를 닫거나 병합 해야함

profile
개발자가 되고 싶은 사람

0개의 댓글

관련 채용 정보