24일차 공부 정리

기억해야 할 멘트

  • reset 원격저장소에 올라가기 전 까지 유효합니다. 이를 취소하려면 revert가 필요해요.
  • .gitignore는 팀 정책 만들기, .git/info/exclude는 개인 정책 만들기.
  • config.txt.template, .template 확장자는 내용보다는 템플릿(형식)을 만듭니다.
  • 충돌시 base를 기반으로 3자 검증 하기 때문에 소규모작업을 하더라도 브런치를 지속생산 하는 것이 중요합니다.
  • git flow 형식을 사용해 develop, release 등 브런치를 만들어 작업합니다. 대 전제는 master은 언제나 실행 가능한 상태여야하기 때문에 최대한 완성본만을 유지합니다. 또 fast forward를 못하게 합니다.
  • 이 때 fast forward는 머지 커밋 없이 진행하는 것을 의미합니다.
  • 깃허브 원격저장소에서 .을 누르면 웹에서 vscode 사용 가능 합니다. (매우 신기)
  • git pull = git fetch + git merge origin/master
  • 같은 이름의 branch여도, git은 원격 저장소와 지역 저장소를 다른 branch로 취급합니다.
  • git pull을 했으면 빠르게 작업하고 git push를 해주는 것이 중요합니다. 다른사람이 피곤해집니다.
  • pull requests은 책임자에게 내 브랜치를 마스터에 병합하는것을 허용해달라는 요청서입니다. 코드리뷰의 도구로써 사용하면 됩니다. 코드리뷰는 마크다운 문법으로 동작합니다.
  • rebase는 base를 바꿔 보다 깔끔한 깃 그래프 형식을 만들기 위해 사용하는 것으로 이해했습니다. 후에 사용할 일이 있으면 보충 학습이 필요한 부분입니다.

깃 명령어 정리

- git config --global alias.p 'push --set-upstream origin master' : 처음으로 원격저장소를 불러왔을 때 master 브렌치를 원격과 연결하는 것을 쉬운 단축키로 바꿉니다.
- git push --set-upstream origin exp : exp 브렌치를 원격 저장소에 가져옵니다. (pull requests를 생성할 수도 있습니다.)
- git clone 원격저장소주소 . : 현재 폴더에 원격 저장소 clone 합니다.
- git push --force : push가 충돌이 날 때 강제로 해주는 작업 입니다. 비추천합니다.
- git merge --no-ff release/1.0 : ast forward를 못하게 합니다. (git flow 정책.)
- git cherry-pick 버전id : merge를 브런치와 하지 않고 특정 버전과 하고 싶을 때 사용합니다.
- git revert 버전id : 이 버전에 이전버전과 현재 버전을 merge 합니다. 이 때 base버전은 현재 버전이 됩니다. 직관적이지 않아 잘 쓰이진 않지만 버전 취소시 유용할 것 같아요.

느낀점

오늘도 중간에 집중력이 흩어지긴 했지만 그래도 큰 맥락에서 Git을 잘 이해한 것 같습니다.

이제 깃을 활용한 프로젝트를 진행할 용기가 나는군요.

물론 막히겠지만 풀숲을 해처 나갈 칼과 용기가 생긴 것 같습니다.

긴 시간 이어지는 강의 듣느라 정말 고생 많았다는 말 스스로에게 하고싶습니다.

** 위 수식과 그림은 부스트캠프 AI Tech 교육 자료를 참고하였습니다.