2020. 9. 7. 18:50ㆍios/한화 드림인 ios Academy
Git
Git은 현존하는 최고의 문서정리 도구?라고 생각하면 된다.
그중 코딩에 대한 정리와 협업을 위한 도구이다.
Git을 개발한 Torvalds 최초에는 자신의 프로젝트에서
협업을 위한 Linux 커널을 만들다가 Git을 개발하게 되었다고 한다.
역시, 천재들은 다른것 같다. 원래 목표하던 게 아닌데 하다 보니
전 세계 모든 개발자들이 필수로 사용하는 Git을 만들었다니.. 대단해
GitHub
깃헙은 깃 서비스를 제공하는 회사이다.
현재 MS가 깃을 인수했다.
기업들에게는 유료 서비스로 제공하고 있다.
GitHub란?
개발자들의 프로젝트 공유 서비스
본인이 개발한 코드에 대해 공유(오픈소스)하고 다른 유저들과 함께 개발하는 것도 가능함.
오픈소스에 대해 다른 개발자들의 관심사를 확인한 척도가 바로 "스타"의 개수
개발 외에 Git 응용 사례
미국 백악관은 깃에 법을 올리기도 함.
“법규”를 영어로 하면 “code”이다.
법을 깃에서 오픈소스로 기록한다면?? 일반 시민들이 확인해보고 법규 수정을 제안도 가능하다.
Git 사용 흐름도 예시(깃 사용의 이유)
1) 1번은 원본
2) 2, 3번은 원본을 그대로 가져서 와서 브랜치(사본의 개념)에서 수정함. 수정이 완료되면
- 원본이 아닌 사본(브랜치)에서 작업하는 이유는 동시에 여러 명이 협업해서 개발하는 경우
- 동시에 여러 내용이 변경되면 문제가 생기는데 이를 방지한다.
- 또한, 수정이 발생한 후, 수정 이전 버전의 원본으로 돌려야 하는 상황도 생기기 때문에,
- 깃에서는 원본 및 사본의 변경이력과 누가 수정했는지도 추적이 가능하다.
3) 4번으로 가서 1.0 버전을 론칭한다!
4) T1은 출시 버전, 출시 버전은 유저들이 사용하도록 놔두고, 브랜치에서 작업을 이어간다.
- 출시 후의 작업의 브랜치(사본)는 서비스 유지를 위한 버그 수정용
- 기능 개선을 위한 업데이트용 브랜치(사본)가 있을 수 있다.
ex) 1.1 패치를 위한 브랜치, 1.1.1 패치를 위한 브랜치, 1.2 패치를 위한 브랜치 등
5) 위의 과정을 거치면서 브랜치에서 출시된 서비스에서 수정도 하면서, 대규모 패치인 2.0도 개발한다.
Git의 구조
유저 1과 유저 2가 각자의 로컬 저장소(개인용 PC)에서 하루 종일 작업을 한다.
퇴근 시간이 되어서는 작업 내용을 저장하고, 메인 내용에 합쳐야 한다.
이때, PUSH라는 기능을 이용해 메인 저장소에 보낸다.
그럼 여러 사람이 각각 작업한 내용이 한 군데로 합쳐진다.
다음날에 다시 출근해서 작업을 시작할 때, 전체 변경 내용을 PULL 기능을 활용해
개인 로컬 저장소(개인용 PC)로 가져와서 작업을 이어나간다.
커밋을 쉽게 생각하면, 하루 동안 작업한 최종본이라고 생각하면 된다.
하루 동안 변경된 내용의 최종본을 하나의 커밋이라고 한다.
개발자들의 1일 1 커밋 챌린지가 이런 의미이다.
즉, 하루 동안 매일 개발 공부를 하고 나의 공부 이력을 남긴다?라고 생각하면 쉬울 것 같다.
PUS: 원격 저장장소에 나의 작업 내용을 업로드
'ios > 한화 드림인 ios Academy' 카테고리의 다른 글
iOS 아홉 번째 일기 : iOS Academy 2주차 라이브 수업/프로토타입/목업/ 앱UX 주의점 (0) | 2020.08.23 |
---|---|
iOS 여덟 번째 일기 : iOS Academy 2주차 라이브 수업/인터넷의 동작/GET와 POST의 차이 (0) | 2020.08.22 |
iOS 일곱 번째 일기 : iOS Academy 2주차 라이브 수업/iOS앱 기획/개발 주의점 (0) | 2020.08.16 |
iOS 여섯 번째 일기 : iOS Academy 2주차 라이브 수업/앱 개발 필요 구성원 (0) | 2020.08.15 |
iOS 다섯 번째 일기 : iOS Academy 1주차 라이브 수업 (0) | 2020.08.10 |