우리가 혼자서 또는 여러 명이서 프로젝트를 할 때 작업물을 만드는 과정에서 끊임없이 수정사항 등이 발생한다.
예를 들어, 이전에 썼던 코드를 다시 복원해야 할 수도 있고 실수로 오류가 난 코드들을 다시 되돌려야 할 일도 생긴다.
게다가 오류가 난 코드가 어디 있는지도 확인해야 할 상황이 생기기 마련이다.
예전 회사에 다닐 때는 작성한 엑셀파일을 저장할 때 수정한 날짜와 작성자의 이름을 파일 이름으로 저장했던 기억이 있다.
이렇게 돼버리면 파일이 계속해서 생겨나기 때문에 파일을 담고 있는 폴더의 크기가 계속해서 커지게 되고 용량을 비효율적으로 사용하게 돼버리는 일이 생긴다.
개발 공부를 하면서 알게 된, 대부분의 개발자들이 사용하고 있다고 해도 무방한 깃과 깃허브에 대해서 간단하게 다뤄보겠다.
위에서 말했듯이, 프로젝트를 진행하는 과정에서 중간중간 백업은 반드시 필요하다. 그리고 개발자들에게 있어서 협업을 할 때 내가 짠 코드를 테스트하고 싶어 하는 경우가 계속 생기는데 이 코드를 테스트하려면 소프트웨어 프로젝트의 경우에는 내용이 통째로 있어야만 테스트가 가능하다.
이것을 만약 이메일이나 클라우드로 서로 공유하면서 주고받으면 얼마나 번거로운가?
-> 깃 등장 !!!
위 3가지 내용이 깃에대한 설명인데 그래서 깃을 도대체 왜 사용하는 것인가?
이렇게 깃의 여러 가지 장점은 많지만 그중에서도 깃을 사용하면서 제일 좋았던 건 "브랜치"이다. 로컬에서 독립적으로 브랜치를 만들어서 새로운 내용을 작업을 하고 그게 마음에 들면 메인 브랜치로 병합도 할 수 있고, 마음에 들지 않으면 브랜치를 다시 삭제할 수도 있는 자유로움이 정말 편하다고 생각한다.
하지만 좋은 점들도 있지만 단점도 있다. 그중에서도 직접 겪어본 단점은 팀원들과 협업을 할 때, 각자가 로컬 저장 소리는 개인적인 공간에서 작업을 하기 때문에 같은 파트를 작업하는 사람들끼리 소통이 되질 않으면 실시간으로 서로가 작업하는 내용을 알 수 없다. 만약 같은 부분을 수정한다 할지라도 서로의 작업을 확인할 수 없다.
그리고 같은 부분을 작업해서 충돌이 나는 경우가 발생할 수도 있다.
깃허브를 한 줄로 요약하자면, 깃으로 저장돼서 원격전송된 내용들이 저장되는 공간을 제공하는 클라우드 기반의 서비스이다.
왜 깃허브를 사용할까?
내가 작성한 코드들을 안전하게 원격 저장소(깃허브)에 백업을 해두자.