
누구나 쉽게 배우는 Git & Github
이번 강의는 Git의 기초 사용법과 Github를 이용하는 방법에 대해 다룹니다.
Git에 대해서는 깊게 다루지는 않지만 기본적인 명령어은 다루기 때문에 Git을 처음 사용하시는 분게 문제가 없다고 생각합니다.
강의에서 배우는 Git 명령어
Github 활용법에서는 아래와 같은 내용을 다룹니다.
이 강의를 수강하시면 Git과 Github를 이용해 개발자의 역량을 향상 시키는데 도움이 될거라고 생각합니다.
Git은 리눅스 커널(Linux Kernel)의 소스 관리를 위해 만들어졌습니다.
리눅스 커널(Linux Kernel)은 원래 BitKeeper 라는 버전 관리 시스템을 이용했지만 2005년에 라이선스 정책이 변경됨에 따라 새로운 버전 관리 시스템이 필요 했습니다.
이렇게 해서 Git이 탄생 되었습니다.
Git은 기존 시스템의 문제점을 아래와 같은 부분에 초첨을 두었습니다.
Git의 역사를 알고 Git을 사용하시면 Git의 구조를 판단하시는데 더 도움됩니다.
Git의 브랜치 전략
효율적으로 브랜치를 분산하여 개발하면 다른 목적의 브랜치에 영향이 없이 개발을 진행 할 수 있습니다.
강의에서는 git flow 라는 브랜치 전략에 대해 다룹니다.
Git flow 브랜치 전략
강의에서 git flow에 대한 모든 부분을 설명하지는 않습니다. 그렇지만 이후에 진행되는 브랜치 생성법에 대해 강의를 수강하시고 해당 강의와 같은 방식으로 프로젝트를 진행하신다면 도움이 될거라고 생각합니다.
Git의 동작원리
강의에서는 Git 동작원리중 snapshot, sections, checksum이란 것에 다룹니다.
이 강의를 수강하게 되면 앞으로 진행되는 강의에서 위의 내용들이 많이 나오기 때문에 앞으로 진행되는 과정을 이해하시는데 도움이 됩니다.
Init 후 반드시 필요한 ignore 설정
Git 저장소에 불필요한 파일이 생기고 Repository 영역에 추가된 경우에는 관리되지 않는 파일로 인해 커밋이 발생되는 경우가 생길 수 있습니다.
효율적으로 개발을 한다면 불필요한 커밋 발생을 줄이는게 좋습니다. 그렇기 때문에 .gitignore 파일을 설정해서 불필요한 커밋을 하지 말아야 합니다.
Git status
제가 Git 저장소에서 가장 많이 사용하는 명령입니다. 저장소의 상태를 알아야 커밋할 것이 무엇인지 현재 브랜치가 무엇인지 추가되지 않은 파일이 무엇인지등을 확인할 수 있습니다.
Git commit
커밋은 커밋자 뿐만 아니라 공동작업자에게도 내용이 전달될 수 있기 때문에 항상 신중해야 합니다.
만약 수강생 여러분중 코드 리뷰 계획 또는 코드 리뷰를 진행중인 수강생이 있다면 git의 커밋 단위로 코드 리뷰를 진행하면 굉장히 좋을 것입니다.
이 강좌는 커밋 명령어 및 각종 옵션들에 대해 다룹니다.
# 강의에서 -a 옵션을 add라고 잘못 전달한 부분이 있습니다. -a 옵션은 add가 아니라 all 입니다.
Git log
강의에서는 커밋에 대해 이력 조회 하는 방법에 대해 다룹니다.
로그를 보는데는 많은 옵션들이 있습니다만 강의에서 다루는 옵션의 경우에는
각종 브랜치의 위치를 정확하게 이해해야 checkout 명령 및 병합(merge) 명령을 잘 수행 할 수 있습니다.
커밋 메시지 잘 작성하기
커밋 메시지는 이력이 중요시되는 공동 작업에서는 굉장히 중요합니다. 마찬가지로 혼자 작업하는 경우에도 중요한 부분입니다.
만약 수강생 여러분께서 커밋 메시지를 의미 없이 생성한다면 이후 커밋 이력을 추적하지 못하는 경우가 발생할 수도 있으므로 신중하게 작성하시기 바랍니다.
git branch
강의에서는 브랜치를 생성하는 방법에 대해 다룹니다.
브랜치 생성 방법에 대해 확인했으니 Git 동작원리에서 배웠던 git flow 브랜치를 생성해보면 브랜치 명령어에 대해 이해하는데 도움이 됩니다.
git checkout
강의에서는 브랜치간 이동 및 파일 원복하는 법에 대해 다룹니다.
한 가지 주의해야할 부분은 git checkout 을 실행하게 되면 Working Directory 영역의 파일이 변경됩니다.
만약 로컬 변경사항이 있어서 체크아웃이 안되는 경우라면 stash 명령을 이용해 임시 보관함에 저장후 브랜치 변경이 가능합니다.
Git merge
강의에서는 merge를 이용하여 병합하는 과정을 설명합니다. git 에서는 병합(merge)하는 방법이 rebase를 이용한 방법보다 이해하기 쉬운 부분이 있어 merge만을 이용한 병합만을 설명합니다.
마크다운(Markdown) 문법이란?
강의에서는 HTML 페이지를 쉽게 작성할 수 있는 마크다운 문법에 대해 설명합니다.
마크다운 문법의 경우 gitlab, bitbucket, github등에서 모두 지원되는 포맷이므로 배워두시면 도움이됩니다.
강의를 마무리 하며
수강생 여러분 강의를 수강해주셔서 감사합니다. Git에는 본 강의에서 다루지 않은 부분도 아주 많이 있습니다. 그렇지만 "시작이 반" 이라는 말처럼 먼저 Git 기초 사용방법에 대해 익히시고 다루지 않은 부분을 배우는게 좋을 것 같습니다.
아직도 소스 관리를 버전관리 시스템 없이 하시나요??
정답은 git 입니다. 배우기만 하면 소스 코드를 잘 관리할 수 있습니다.
프로그래밍을 하기 위해서는 없어서는 안되는 버전 관리 시스템! 많은 버전 관리 시스템중에 최근에 가장 'HOT'한것이 깃(GIT)입니다.
소스 관리는 효율적으로 되고 안정적으로 클라우드에 보관되고 협업은 즐겁고 GIT을 배우면 장점이 무궁무진합니다.
이 강좌는 기본 명령에 대해 설명을 하고 명령을 직접 실행하면서 결과를 바로바로 확인하는 형태로 진행하였습니다.
실행한 명령은 강좌 설명에 모두 추가했기 때문에 수강생 여러분이 쉽게 따라 하실 수 있으실 것입니다.
오픈소스 개발자들이 많이 사용하는 'github'에 대한 사용법도 다루면서 코딩 스킬을 늘릴 수 있는 방법도 알려드립니다.