안녕하세요.
기계과 감성쟁이입니다.
코딩 공부를 하다보면
무조건 마주치게 되는 깃과 깃허브를 알아봅시다.
1. Git(깃)부터 알아보자
코딩 협업을 해보신 분들이라면,
무언가를 함께 개발한다는 것이 정말 어렵다는 것을 아실거에요.
제가 협업했을 때에는 다음과 같은 어려움이 있었습니다.
1. 버전 관리
하나의 아웃풋을 뽑아내는 코드는 여러가지가 있습니다.
극단적으로 얘기하자면 (C++기준)
"Hello" 라는 문자를 출력하고자 할 때
어떤 사람은 printf 를 사용하고
어떤 사람은 print 를 사용하고
어떤 사람은 아스키코드를 이용할 수도 있겠죠.
다르게 시작된 코드는
나비효과처럼 완전히 다른 최종 결과물을 나타내기도 합니다.
그래서 각각의 버전을 관리할 필요가 있죠.
그리고 기존의 코드에서 어떤 걸 변경했는지 기록도 해야합니다.
2. 코드의 공유
코드가 정말 많이 길어지면
그때그때 코드를 공유하기가 힘듭니다.
어떤 서버에 파일을 업로드 시켜놓고
모두가 코드를 실시간으로 확인할 수 있으면 좋겠다는 생각이 들겠죠.
이 두가지를 포함한 여러 불편함을 해결하기위해
Git이 개발되었습니다.
https://namu.wiki/w/Git (나무위키)
이럴 땐 나무위키만한게 없죠...
도식으로 나타내면 이런 느낌이에요.
메인이 되는 코드가 있고, 버전이 만들어지고, 그 버전으로 개발하고, 수정하고, 버전 별로 관리하고...
2. 그럼 GitHub(깃허브)는 뭐야?
Git 의 결과물은 Commit(커밋) 입니다.
커밋을 무료로 저장할 수 있는 사이트가 GitHub 에요.
이 기능 덕분에 GitHub는
오픈소스의 성지와 같은 곳이 되었죠.
여담으로, 깃허브에서는 웹 호스팅 서비스도 제공하고 있습니다.
html, css, js 공부하다보면 한번 쯤은 써볼만한 서비스에요. 무료도 가능하거든요.
최근에 마이크로소프트에서 깃허브를 인수하면서
여러가지 변화가 나타나고 있는데, 이 영상에서 약간의 무서움과 함께 말해주고 있습니다.
Copilot 이라는 AI 코딩 시스템도 최근에 공개되었는데
해당 채널 가보시면 이외에도 많은 정보들이 있으니 참고해보세요.
오늘은 간단한 개요 정도만 설명을 드렸습니다.
앞으로 사용법들을 올릴게요!