October 02, 2020
개발 공부를 하다 보면 꼭 마주치게 되는 친구가 바로 git이죠
git은 VCS, 즉 버전 관리 시스템인데요
다시 말하면… git은 저희의 코드 파일을 계속 추적하며 변경사항을 기록합니다.
코드를 짜다 보면 의도치 않게 프로젝트가 맛이 가는 경험을 하게 되실텐데, 그럴 때 git을 이용해서
이전 버전의 코드를 기록해두었다면 다시 이전으로 돌아갈 수 있습니다!
이런 식으로 개발자들은 그 기록들을 통해서 코드의 버전을 관리하고
협업하며 프로젝트를 진행할 때에는 개발자 별로 다른 버전을 개발하여 기준이 되는 코드에 합치는 방식을 사용한다고 합니다~
git이 버전관리시스템이었다면 github는 repository를 이용해서 git으로 관리하는 프로젝트를
여러분의 컴퓨터(로컬 환경)가 아닌!! 원격 저장소(리모트환경)에 저장할 수 있도록 도와줍니다.
repository라는 용어가 생소하시다면…그냥 폴더라고 생각하시면 됩니다!
저의 스윗 리를 repository들…
이런 식으로 Repository 별로 여러분의 프로젝트들을 관리할 수 있습니다!
저의 작고 귀여운 contribution들…
github의 contribution 창에서는 여러분이 얼마나 열심히 코딩을 하고있는지도 시각적으로 확인할 수 있습니다.
진한 초록색일수록 많이 활동을 했다는 뜻이겠죠?
색깔이 초록색이라서 그런지 듣기로는 이것을 잡초를 심는다고 표현하기도 한다네요..네,.. 더 열심히 심겠습니다..^^7
github 말고도 다른 원격 저장소도 있지만 가장 많이 쓰이는 것은 github입니다
github 링크 에서 가입하실 수 있습니다!
이제 git을 설치해봅시다
git이 설치되어 있지 않다면 다운로드 링크를 통해서 본인 컴퓨터에 해당하는 os를 선택하시고 설치를 진행해주세요!
$ brew install git
mac에서 homebrew를 사용중이시라면 homebrew 명령어를 사용하여 설치할 수도 있습니다.
설치 후 터미널이나 cmd를 열고 아래 명령어를 입력해주세요
$ git --version
위처럼 버전 정보가 잘 나온다면 정상적으로 설치가 된 것입니다!
$ git config --global user.name "본인 이름"
$ git config --global user.email "본인 이메일"
그 후 위 커맨드에 본인의 이름과 실제 이메일을 작성해주시면 됩니다.
이 때, 여러분의 github 계정에 등록된 이메일을 쓰시길 권장합니다… (경험담)
이제 github에 들어가서 새로운 repository를 만들어주세요.
repository name을 작성해주시고, description은 원하신다면..작성하시고
절대 add a readme file은 체크하지 마세요!!! (경험담)
이제 create repository를 눌러주시면 됩니다.
그러면 요런 화면이 뜹니다. 새로운 repository를 만드는데 성공했습니다!
이제 우리의 프로젝트를 github에 올릴 것인데요, 여기서 두 갈래로 나뉘게 됩니다.
현재 컴퓨터에 있는 프로젝트를 올리거나, 기존에 github에 올려져있는 코드를 받아와서 프로젝트를 시작하거나…
전자는 git init, 후자는 git clone에 해당합니다.
먼저 git init으로 시작하는 경우, 일단 터미널을 열고 버전 관리를 하길 원하는 프로젝트의 폴더 안으로 이동해주세요.
$ git init // 현재 폴더에서 버전 관리를 시작하겠다는 뜻
그리고 위 명령어를 입력해주세요.
이제부터 sample_project 폴더 안의 모든 파일들은 git에 의해서 변경사항이 감지됩니다.
먼저 코드를 받아올 github repository로 이동 후 깃 링크를 복사하신 후
$ git clone 원격저장소주소
위 명령어를 입력해주시면 !
원격저장소의 repository에서 받아온 새로운 폴더가 생겨있습니다.
그 안으로 이동하면 자동으로 git이 설정 되어있어서 git init을 하지 않아도 됩니다!
git init이나 git clone을 하셨다면 이제 현재 버전에 대한 기록을 남겨봅시다.
$ git status // 현재 상태 확인
git status를 통해 현재 상태를 확인해보면 빨간색으로 폴더 안의 파일 sample.html이 나타납니다.
현재 버전의 파일들을 기록하기 위해서는 먼저 사용자가 폴더 안의 파일들을 staging area에 올려주어야 하는데요,
파일 명이 붉게 나타나는 것은 아직 staging area에 sample.html이 들어가지 않았다는 뜻입니다.
$ git add . // 현재 폴더 내 모든 파일들을 staging area에 올림
위 명령어를 통해 파일들을 staging area에 올려주고 다시 git status로 상태를 확인해보면 sample.html의 색이 녹색으로 변했습니다.
이제 현재 버전을 기록할 준비가 끝났습니다!
$ git commit -m "commit message" // 메세지와 함께 커밋
현재 버전을 기록하는 것을 commit이라고 합니다.
위 명령어를 입력하면 staging area에 올라와 있는 파일들을 여러분이 작성한 커밋 메세지와 함께 기록합니다.
git status를 확인하면 커밋할 사항 없음. 이라고 뜨는 것을 볼 수 있죠!
이제 저희가 커밋한 내용을 아까 만든 github repository에 올려봅시다
$ git remote add origin 원격저장소주소 // 원격 저장소와 로컬 저장소를 연결
원격 저장소에 저희가 커밋한 내용을 올리기 위해서는 먼저 원격 저장소와 로컬 저장소를 연결해줄 필요가 있습니다.
위 명령어를 사용해서 아까 생성했던 repository의 주소를 입력해주시면 원격 저장소와 연결됩니다.
$ git remote -v // 로컬 저장소와 연결된 원격 저장소 정보 확인
위 명령어를 사용해서 현재 로컬 저장소와 연결된 원격 저장소를 확인할 수도 있습니다!
매 커밋마다 git remote 명령어로 연결해주지 않으셔도 됩니다. 한번 로컬저장소와 원격저장소를 연결하면 계속 유지됩니다!
$ git push origin 브랜치명 // 해당 브랜치에 커밋된 내용들을 원격 저장소에 올림
웅성웅성👥👤👥브랜치…?👤👥👥👤👥👥웅성웅성👥👤👥👤👥브랜치가 뭐야…👥👤👥👤👥👤웅성웅성
브랜치는 코드를 독립적인 버전으로 관리하기 위해서 사용하는 것입니다.
위 사진에서 현재 branch는 master로 되어있는데요, 만약 현재 자신의 브랜치이름이 궁금하시다면
$ git branch -a // 로컬 브랜치 목록 확인
위 명령어를 사용하면 현재 로컬 환경에서 브랜치 목록이 나오는데 옆에 * 표시가 붙어있는 것이 현재 여러분들의 브랜치입니다.
위 사진에서는 main이네요! 확인하셨으면 저 창은 q버튼을 누르시면 빠져나올 수 있습니다.
여러분의 브랜치 이름을 확인하시고 git push origin 브랜치이름 명령어를 입력하시면
원격저장소에 지금까지 현재 브랜치에서 커밋했던 내용들이 연결된 repository에 올라갑니다.
이제 여러분들의 repository에 다시 들어가보시면…짜잔!!
연결한 repository에 올라간 우리의 파일들과 커밋 메세지를 확인할 수 있습니다 와~~
이제 여러분은 git과 github에 입성하셨습니다 짞짝짞~~👏🏼👏🏼👏🏼
명령어 종류가 너무 많아서 헷갈리진 않으신가요? 정상입니다…
저도 항상 까먹을 때 마다 제 블로그에 올려둔 명령어 모음 포스트를 보거나 구글검색을 한답니다..
명령어들은 꾸준히 사용하다보면 자연스레 외워지니 열심히 1일 1커밋 목표를 향해 달려봅시다!! 화이팅 화이팅 야야야~