자 Git은 Version Control System이고 공짜입니다.
Github는 Version Control System인 Git을 온라인에서 다른 사람들과 함께 할 수 있도록 도와주는 플랫폼입니다. 얘도 공짜입니다.
그럼 Version Control System은 뭘까요?
Version Control System은 생각보다 간답합니다. 우리가 사용하는 프로그램은 단순히 코드로만 구성 돼있는 게 아니라 다양한 프로그램들의 집합체라고 생각하셔야 합니다. 웹사이트를 예를 들어 생각해 보면 Backend가 있고 Frontend가 있는데 각 부분을 만드는 프레임워크가 존재하고 그 프레임워크를 구성하는 언어가 있습니다. 즉, 여러 가지의 프로그램이 또 다른 프로그램을 만드는 과정이 개발입니다.(제 개인적인 생각에서는요.)
그럼 이렇게 다양한 프로그램의 버전이 있고 더 나아가 개발의 과정별 시점이 있습니다. 그걸 하나하나 일일이 관리해야 합니다. 단, Git은 개발자들에게 그런 버젼의 변화와 개발의 변화를 기록해주고 좀 더 쉽게 보여줍니다.
간단하게 우리가 개발을 하면서 다양한 버젼이 만들어지는데 그 버전에 대한 조정과 관리를 도와줍니다. 특히 Git의 경우 중앙컴퓨터에 작업을 할 필요 없이 분산 해서 작업을 도와 주기에 효율적인 개발에도 큰 도움이 된다고 합니다.
그래서 회사를 취직하기 위한 필수적인 덕목이면서 모른 채로 들어갔다 욕먹기 일상이라고 합니다.(아직 취직을 안 해봐서...ㅎㅎ)
그러면 Git에 대해서 좀 더 디테일하게 설명드리겠습니다.
Git은 사용하는 방법에 대해 구체적으로 정리한 시리즈를 올려 드리도록 하겠습니다.(찡끗)
그래서 오늘은 Git의 핵심을 설명드리겠습니다. 제가 생각하는 핵심은 바로 Branch, Merge, Commit입니다. (만약 다른 곳에서 다르다면은 그걸 일단 믿으시는 것도 나쁘지 않을 거 같아요.)
우리가 Git을 활성화하고 개발을 시작하면 우리의 첫 번째 Branch는 master 혹은 main이라고 합니다.
Master branch에서 개발을 하던 도중 우리가 새로운 방식 하지만 정확히 적용을 할지 모르는 경우가 있습니다.
그 경우 Branch를 만들어 Master branch와 같은 환경에서 새로운 버전의 개발을 진행하는 겁니다.
만약 그 개발이 확실하다면 진행을 하는 것이고 아니라면 지워 버리면 그만 이죠.
여기서의 장점은 Master에서 잘못된 경우 일일이 우리가 만든 코드를 지우는 게 아닌 Branch를 만들었던 시점으로 돌아갈 수 있다는 점입니다.(저도 처음에 들었을 때는 저게 뭐가 좋아했는데 지금은 와 이게 엄청난 사기구나 합니다.)
그럼 이걸 가능케 해주는 Git의 기능은 뭘까요? 바로 Commit입니다. 우리가 개발을 할 때 새로운 변화를 줄 때마다 Git은 차이가 발생한 부분을 자동으로 인식합니다. 그리고 차이를 저장함으로써 우리가 원하는 시점으로 자연스럽게 돌아갈 수 있게 해 줍니다. 그래서 개발을 처음 했을 때 자주 Commit을 하라고 배웁니다. 그리고 이렇게 차이를 저장하게 해주는 기능이 바로 Git의 Commit입니다. 어떤가요? 신기하죠? 신기하다 해주세요.
그럼 오늘은 Git에 관해 배웠습니다. 그러면 다음에는 Git의 다양한 기능들을 설명하는 도대체 시리즈로 돌아오겠습니다.
감사합니다!
* 항상 정확한 정보를 드리고 싶지만 실수가 있을 수도 있습니다!
* 실수를 찾게 되거나 질문이 있으시면 댓글 달아주세요!!
'개발일반 > 도대체' 카테고리의 다른 글
도대체 Git은 어떻게 사용하는 걸까요?: 분업 (0) | 2023.03.14 |
---|---|
도대체 Git은 어떻게 사용하는 걸까요? (0) | 2023.03.08 |
도대체 Weights와 Bias는 AI에서 뭘까요? (0) | 2023.03.06 |
도대체 TCP/IP는 어떻게 통신을 할까요? (0) | 2023.03.02 |
도대체 IPv4, IPv6는 뭘까요? (0) | 2023.03.01 |