개발 일기

Git 시작하기 - Git, 버전 관리 시스템 본문

TIL(Today I learned)

Git 시작하기 - Git, 버전 관리 시스템

flow123 2021. 9. 17. 00:17

Git 이란?

 

Git 은 버전 관리를 위한 프로그램이다. 최종1, 최종2 이런식으로 버전을 일일이 저장해줄 필요없이, 중간 중간 프로젝트 상태를 저장하면 된다. 이를 commit 이라 한다. 

 

코드의 분산 버전관리를 용이하게 해주는 프로그램이다. Git 의 장점은 코드의 병렬작업이 가능하다는 것이다. 즉 A와 B가 같은 파일을 작업하고 있더라도, 덮어지지 않는다. 

버전 관리 시스템(Version Control Systme) 이 왜 중요할까?  

 

버전 관리는 파일에 일어난 변경 사항을 추적하는 시스템이다. 

즉, 1) 이전 상태로 돌려보기 2) 누가, 언제, 어디서 에러가 발생했는지, 히스토리를 추적하면서 찾을 수 있다. 

즉 협업할 때, 어디서 에러가 났는지 찾는 수고로움으로부터 해방시켜줄 수 있는 필수적인 시스템이다. 

코드가 어떻게 변경되어 왔는지 히스토리를 보기 쉽다. 버전 관리가 되기 때문에, 어디서 에러가 났는지 찾기도 용이하다. 

 

https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

 

Git 과 GitHub은 같은 것인가? 

전혀 다른 개념이다. Github은 Git을 보다 용이하게 쓰고 관리할 수 있는, 클라우드 기반의 저장소이다. Git으로 된 프로젝트를 올리고, 커뮤니티에서 소통할 수 있다. 

 

그 외 자주 보게될 Git 단어들 

-Source tree란? 

Git 을 사용할 때 쓰는 대표적인 도구다. 문서 편집 도구 중에 word 가 있는 것처럼, Git 을 편집하는 도구 중 하나다. 

-Commit 이란? 

현재 프로젝트의 상태를 저장하는 것. 저장해서 올리면, 자동으로 변경사항 (무엇이 delete 되고 add되었는지를 표시해준다)

지나가는 이야기 -  개발자의 학습태도에 대하여 

오시영 튜터님이 Git 수업 중간 중간 학습 태도에 대한 조언을 해주셨다. 

웹 개발보다도 Git 은 낯설어서 오늘은 정말 머리에 쥐가 날 것 같았는데, 이런 팁들이 참 도움이 됐다. 

개발자는 효율적인 학습이 정말 중요한 직업인 것 같다.

 

최근에 들어본 알고리즘 인강에서 강사님이 이런말씀을 하셨다.

본인이 많은 학생들을 가르쳐보면서, 이과생들은 이해를 하고 그걸 기반으로 나아간다면, 문과생들은 외워서 접근하려고 한다고.

 

개발은 이해가 중요한 영역이다. 코드도 내가 자료 참고 없이 다 쓸 수 있고, 이런게 중요한 게 아니다. 

레시피를 굳이 외우지 않고 필요할 때 요리책을 꺼내면 되듯, 모르면 찾아보면 된다.

머리가 지끈거리지만, 써보지 않은 근육을 만드는 기분이 든다. 원하는 방향으로 성장하는 기분이 들어서 좋다.

다른 공부영역보다도 개발은 요령과 태도가 중요하다. 사람의 언어가 아니니깐.

 

(1) 에러를 낸다는 = 내가 다른 시도를 해봤다는 . 에러는 상태 메시지일 뿐이다. 에러를 수천번 낸다고 컴퓨터 고장나는 아님.

(2) 학습 자료를 사전처럼 찾자. 모든 외울 필요가 없다. 모르는 부분만 찾아보면 .

(3) Translated to 한국어. 컨텐츠는 한국어라도, 검색은 영어로 하기. 그래서 번역을 해서 보는 한이 있더라도, 많은 정보를 접하자! 

(4) 공식문서: 기술을 가장 쓰고, 이해하는 사람이 문서. 여기에서 먼저 찾는 연습하자.

(5) 참지 말고, 비장하게 하지말기. 참지 말고 재밌게 쉽게 있으면 학습 방법을 바꾸자. 

개발자는 생산성이 중요하다. 워낙 많은 내용을 빠르게 습득해야함. 문제 해결에 대한 방법도 많다.

(6)TIL의 목적은 학습 방법 개선에도 있다. 작업 중간 중간 내가 생산적으로 학습/일하는지 신경쓰자.

열심히 하는 게 아니라, 적은 시간으로 정확히, 효율적으로 공부하는지가 중요하다. 

Comments