1. GitHub
- 주로 오픈소스를 공유하기 위한 기능을 수행
- 그 외에도 공유 소스 서버가 있지만 가장 주로 사용 됨
1) 예시_ uftrace (오픈 소스)
gcc -pg test.c
uftrace a.out
- 트레이스를 보면서 함수 콜을 확인 할 수 있다
uftrace -A fib@arg1 -R fib@retval fibonacci 5
- 트리 구조로 보기 편하게 해줌
2) pull request
- 내 코드를 포스팅을 하는 것
- 내 레파지토리를 포크로 만들어 링크를 뒀으니 당겨가서 업로드 해주라는 의미
3) review
- 코드는 어떤식으로 했는지 어떻게 사용하는 지 적어두는 것
- 협업을 위해 코드 스타일을 공유함
- before/after를 사용하여 만들면 좋음
- commit은 하나의 일을 처리하기 위한 단위로 쪼개서 게시하는 것이 좋음
- 마크 다운도 활용할 수 있음
4) issue / discussion
- 버그 리포트, 질문, 제안
- 만든 이 본인도 바로 push 하지 않고 서로 이야기를 하고 수정함
5) rebase
- Node.js => (fork) => My/Node.js => (Clone) => Node.js => (push) => My/Node.js
- 하나의 파일을 서로 fork해서 서로 수정하면 베이스가 서로 달라 오류가 발생 => 이를 위해 rebase를 함
2. 실습
- git add, git commit, git push, git checkout -b develop
- git add ammend
- fetch
- rebase
1) git add ammend
- 최신에 있는 commit을 수정하고자 함
2) git rebase -i --root
- 중간에 있는 commit을 수정하고 싶으면 최신 commit이 원하는 커밋이 될 수 있도록 커밋해줌
3) git checkout
- 도서관의 책을 대여하는 개념
- .git폴더에 브랜치들을 모두 압축하여 저장하다가 git checkout을 하면 해당 책을 빌려와서 현재 폴더에 펼쳐준다.
- 특정 파일만 최신 commit으로 가져올 수도 있다.
4) pull-request 수정
- git push origin develop -f
3. 형상관리 사용 배경
1) 소프트웨어의 특징
- 변경성, 비가시성
2) 형상관리의 특징
- coomit 단위로 코딩하고 리뷰하고 토론하고 적용한다
'데이터 분석가 역량' 카테고리의 다른 글
day 15 ] 내 데이터로 출력해보기 (0) | 2019.05.21 |
---|---|
day 15 ] grammar (0) | 2019.05.21 |
day 13 ] pos (0) | 2019.05.16 |
day 12 ] 불용어 (0) | 2019.05.16 |
day 12] BPE (0) | 2019.05.15 |