깃(git)에 대해 공부해보았다. 5주차 강의에서 데이터를 서버에 저장후 도메인을 구입해
깃이라는 프로그램으로 내가 만든 웹 홈페이지를 조작한 기억이 났다.. 그렇다면 Github는 뭘까? Java와Javascript처럼 아무 관련이 없는 걸까?? 유튜브를 통해 알아보았다.
깃(git)은 개발자만 쓰라고 만든 프로그램이 아니다. 깃은 여러 사람이 원격으로 문서에 대한 공동 작업을 할떄 서로 충돌이 없게 만들어진 프로그램이다. 딱히 개발과 프로그래밍언어에 종속되지 않는다. 하지만 99%가 개발자들이 사용하는 프로그램이다.
깃(git)의 기본 동작원리는 나무위키와 99% 일치한다. 간단히 말하면 통합된 장소에서 여러명이 동시에 코딩할 수 있다는 얘기다.
만약 다섯명이 하나의 프로젝트를 준비하고 있다. 다섯명중 두명이상이 동시에 같은 라인에 있는 코드를 수정하거나 추가를 할때, 먼저 업데이트한 사람의 정보를 따라서 저장된다. 그러니 여러사람이서 프로젝트를 진행할때는 역할분담과 소통의 중요를 꼭 중요하게 생각하고 그럴일이 안일어나게 방지하게 해야되지만, 사실 이건 100%겪을 수 밖에 없는 문제라고 한다.
깃(git)의 주요기능
1. 되돌리기
만약 코드를 업데이트 하기 이전으로 돌리고싶을때 깃을 쓰지 않았다면 처음부터 다시 시작해야 되지만, 깃은 우리가 업데이트 이력을 찾은 뒤 그때마다 원하는 코드를 다시 revert를 해 롤백할 수 있다.
2.오류찾기
업데이트 이력을 보면 업데이트를 한 개발자의 이름과 정보까지 나와있다. 그래서 빠르게 원인제공을 한 개발자의 코드를 검사해 빠르게 오류를 색출할 수 있다.
깃에는 tagging(태깅) 이라는 기능이 있다. 가능한 오류가 없던 예전 버전으로 돌리고 싶을때 그떄마다 업데이트 이력에 태그가 붙어 있는 버전으로 돌리면 된다.
빠르고 안전하게 서비스를 고칠 수 있다는 장점이 있다.
4.가지치기(branch)
통상 여러사람이 동시에 자주 쓰는 파일을 코딩하고 업데이트를 할때 오류가 많다.그럴때 쓰는게 각자의 branch에 파일을 수정한 후 업데이트 장소를 master branch에 각자 수정한 파일들을 업데이트해서 오류가 뜨면 한번만 고치면 되는 장점이 있다.
5.원격 저장소를 여러개만들기
원결 저장소를 여러개를 만들면 다양한 장점이 있다. 우선 작업중인 소스코드를 개발 버전과 라이브버전, 즉 실제 운영 중인 버전 두 개로 나워서 작업할 수 있다.실제로 실제회사에서는 저장소를 개발 버전과 라이브 버전 두 개로 나눠서 개발중인 코드는 개발저장소로, 개발이 끝난 코드는 라이브저장소에 넣어 바로 서비스반영이 가능하다.(ex,해외서비스,국내서비스/베타서버,본서버)