아래 모든 텍스트는 '얄팍한 코딩사전 채널주인님'께서 작성하신 내용입니다
...
어라? 수정사항이 번복되거나 해서
프로젝트를 과거 시점으로 되돌려야 하는 상황이 와요.
그러면 이제까지의 내역들을 확인한 다음
원하는 시점을 선택하면 그 박제됐던 과거의 상태가 복원이 됩니다.
수정된 파일들은 되돌려지고 새로 만들었던 파일들은 사라지고 지웠던 파일들은 다시 생겨요.
...
또 프로젝트를 진행하다 보면
이 기능을 넣을까 말까, 디자인을 이렇게 바꿔볼까 말까
결정하기 애매할 때가 생겨요.
이럴땐 이렇게 가지치기, 분기가 가능합니다.
Branch(가지)를 딴다고 하죠.
주가 되는 코드는 이 메인 브랜치에서 작업하고
시도를 해 볼 부분은 다른 브랜치에서 작업하다가
이거 괜찮다, 적용해도 되겠다 싶으면
메인 브렌치에 합쳐버리면 되는거에요.
Git은 이제 알겠고, 그럼 Github이란 뭘까요?
Git은 버전관리를 위한 소프트웨어고,
Github은 이 Git으로 원격전송된 프로젝트들이
저장되는 공간을 제공하는 서비스에요.
이 말이 어려우면,
Git이 영상 찍는 앱이고 Github은 유튜브라고 생각하시면 편해요.
여러분이 Git으로 관리하는 코드들과 프로젝트들을
얼마든지 Github에 무료로 올릴 수가 있어요.
오픈소스란 말 그대로 코드가 다 공개된 소프트웨어 프로젝트에요.
전세계 사람들이 Github에 올려진 코드들을 볼 수 있기 때문에,
잘못된 부분을 수정하거나 더 좋은 기능을 구현하는 코드들을
지구 반대편의 뛰어난 프로그래머들에게 제안 받을 수도 있고,
또 내가 남의 프로젝트에 기여할 수도 있는거죠.
잘 알려진 오픈소스 프로젝트에 내 코드가 기여한 기록이 있으면
자기만족도 있겠지만 취업할 때 강력한 플러스 요인이 되기도 해요.
이런 과정들 속에 멋진 프로젝트들이 만들어지고 발전하는 곳이기 때문에
Github은 자유 소프트웨어, 오픈소스의 성지라고 불리기도 해요.
지금 당장 Github에 접속하셔서, 세계 곳곳의 뛰어난 프로그래머들이 작성한
수많은 코드들을 직접 살펴보실 수가 있습니다.
목적: 처음 깃허브 커밋 내용을 보시는 분 편의를 고려
토이, 팀 프로젝트를 깃허브 저장소에 올리고, 프로젝트를 설명하는 README.md 파일을 추가
코드의 경중을 나누기
단거리(시간날때 조금씩) - 30분 이내로 코드 작업이 가능한 개인 과제
장거리(주말오전 같이 시간이 많은경우) - 30분 이상 고민이 필요한 개인 과제
단거리 예시
사이드 프로젝트에 누락된 테스트 코드를 추가
블로그 오타를 반영하거나
라이브러리 버전을 올리는
이미 API가 구현된 상태에서 대시보드 항목만 추가하는 등도 단거리에 해당
해당방식의 장점
커밋에 대한 추가적 내용은 '기억보다는 기록을' 블로그 내용2을 조금더 참조