충남대학교 컴퓨터공학과의 "실전코딩" 강의를 필기한 내용입니다.
이 문서는 보관이 목적이고, 관리되지 않습니다. 따라서 잘못된 정보가 포함되어 있거나 순서가 뒤죽박죽일 수 있습니다.
git stash
- 작압을 하다가 갑자기 할 일이 생겨서 다른 브랜치로 넘어가야될때 지금 하고있는걸 잠깐 저장했다가 나중에 다시 불러올 수 있게 하는 기능
- 하기만 지금 하고있던일이 많으면 그냥 커밋하는게 낫댄다
- stash : 하고있던일 저장 - 파일이 임시저장소로 옮겨져 사라진다
- list : stash된것들 목록
- pop : 다시 불러옴
- git stash branch branch_name_ : branch_name_의 브랜치가 생성되고 stash에 있던게 브랜치로 옮겨진다
git cherry-pick
- 다른 브랜치의 커밋 내용을 현재 브랜치로 땡겨오는 것
- 머지랑 비슷한데 머지는 다른 브랜치의 가장 최신 커밋을 떙겨오는거고 체리픽은 다른 브랜치의 특정 커밋을 땡겨오는 거인듯
좋은 오픈소스 찾기
- 라이선스 확인
- code에서 최근 커밋 확인
- issue에서 어떤 이슈가 있는지 확인
- pull에서 소통이 잘 되는지 확인하기
- contributors에서 커밋이 지속적으로 되고있는지 확인하기
- 한번 오픈소스를 고르면 나중에 다시 빠꾸치기가 힘들기 때문에 처음에 고를때 신중해야 한다
컨트리뷰션
- 오타 수정해서 PR날리거나
- 번역해서 PR날리거나
- first-timers-only라는 issue의 label을 참고하면 좋음 - 얘네는 컨트리뷰션을 첨하는 사람들을 위해 체험판처럼 이슈를 일부로 안고치고 냄겨놓는 것이다 - 이 이슈도 뭐 대단한게 아닌 쉬운것 - 약간 뉴비들을 위한 캠페인 같은거다
컨트리뷰션 과정
- 오픈소스를 찾고
- 그것을 내 계정으로 fork한다
- 그리고 내 로컬에 clone받고
- 그것을 작업한 뒤
- 내 계정에 push한다
- 그리고 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 꼭 들어가봐라