충남대학교 컴퓨터공학과의 "실전코딩" 강의를 필기한 내용입니다.

이 문서는 보관이 목적이고, 관리되지 않습니다. 따라서 잘못된 정보가 포함되어 있거나 순서가 뒤죽박죽일 수 있습니다.

git stash

  • 작압을 하다가 갑자기 할 일이 생겨서 다른 브랜치로 넘어가야될때 지금 하고있는걸 잠깐 저장했다가 나중에 다시 불러올 수 있게 하는 기능
  • 하기만 지금 하고있던일이 많으면 그냥 커밋하는게 낫댄다
    • stash : 하고있던일 저장 - 파일이 임시저장소로 옮겨져 사라진다
    • list : stash된것들 목록
    • pop : 다시 불러옴
    • git stash branch branch_name_ : branch_name_의 브랜치가 생성되고 stash에 있던게 브랜치로 옮겨진다

git cherry-pick

  • 다른 브랜치의 커밋 내용을 현재 브랜치로 땡겨오는 것
  • 머지랑 비슷한데 머지는 다른 브랜치의 가장 최신 커밋을 떙겨오는거고 체리픽은 다른 브랜치의 특정 커밋을 땡겨오는 거인듯

좋은 오픈소스 찾기

  1. 라이선스 확인
  2. code에서 최근 커밋 확인
  3. issue에서 어떤 이슈가 있는지 확인
  4. pull에서 소통이 잘 되는지 확인하기
  5. contributors에서 커밋이 지속적으로 되고있는지 확인하기
  • 한번 오픈소스를 고르면 나중에 다시 빠꾸치기가 힘들기 때문에 처음에 고를때 신중해야 한다

컨트리뷰션

  • 오타 수정해서 PR날리거나
  • 번역해서 PR날리거나
  • first-timers-only라는 issue의 label을 참고하면 좋음 - 얘네는 컨트리뷰션을 첨하는 사람들을 위해 체험판처럼 이슈를 일부로 안고치고 냄겨놓는 것이다 - 이 이슈도 뭐 대단한게 아닌 쉬운것 - 약간 뉴비들을 위한 캠페인 같은거다

컨트리뷰션 과정

  1. 오픈소스를 찾고
  2. 그것을 내 계정으로 fork한다
  3. 그리고 내 로컬에 clone받고
  4. 그것을 작업한 뒤
  5. 내 계정에 push한다
  6. 그리고 pull request를 날려 merge해주기를 기다리면 된다

sync하기

  • git fetch origin : 레포의 main을 내 origin으로 커밋을 땡겨옴 - 땡겨오기만 하지 머지되지는 않는다 - 레포의 커밋을 내 origin의 remote라는 가상의?브랜치로 땡겨옴
  • git pull origin branch_name_ : fetch하고 merge를 동시에 - fetch한 이후 이 origin / remote브랜치의 내용을 origin / main브랜치로 땡겨오게 된다
  • 내 로컬이 origin인듯
  • pull이랑 pull request랑 다른거다

git tag

  • 버전의 중요한 특정 지점에 표시를 할때 tag를 한다
  • 브랜치랑 비슷하지만 브랜치는 수정이랑 삭제 등이 용이하지만 태그는 수정이랑 삭제는 안된다 - checkout은 되지만 push등은 안된다
  • 뭐 정기 배포 이럴때 쓴다

HEAD, HEAD^

  • HEAD : 가장 촤근 커밋
  • HEAD^ : 가장 최근 커밋의 바로 이전 커밋
  • git-scm.com/book/ko/v2 꼭 들어가봐라