Git 입문
개발공부를 처음 시작할때즈음 너무나도 당연하게도 Git이 뭐며 GitHub이 뭔가? 기초지식이 아무것도 없었다.
개발을 하고 있는 친구의 '깃허브를 해야된다'
'매일 커밋하나씩은 해둬라 너의 자산이 된다.'
'깃헙의 커밋이 너의 꾸준함, 성실함을 대변해준다.' 등등
또, 국비지원 학원에서 상담선생님도 깃허브와 개발블로그를 꼭하셔야한다... 라는 이야기를 너무나도 많이 들었다.
당시에 유튜브등을 대충 찾아보며 깃허브 계정을 가입하고 소스트리를 다운로드하여 학원에서 공부했던 내용을 커밋하는 정도까지느 했었다.
그러나, GIT이 뭔지 왜 쓰는건지 정말 1의 이해도 없이 단순 업로드성 커밋만 반복할 뿐이었다.
최근들어 학원공부를 어느정도 따라갈 수 있게되고 점점 개발공부에 대한 열정이 더 타올라서 여러가직 개발용어들을 접하고 찾아보며 공부하기 시작하면서 제대로 깃이라는 것을 공부해보자 라느 마음을 먹게되어 공부하게 되었다.
근데 같은 학원에 다니는 다른 형님들은 깃이 뭔지 깃허브에 왜 지금부터 커밋을 해야하는지 이해도가 너무나도 없었고 오지랖부리기 좋아하는 나는 주말에 잠깐 시간내서 간단하게 강의를 해줄테니 들어보겠냐는 제안을 하였고 강의라고 하기도 부끄러운 간단한 설명을 하게 된다.
그때, 내가 설명할 부분들을 노션에 미리 정리해두어 나중에 설명이 끝나고 자료를 나눠주면 좀 더 효율좋은 학습이 되겠다 싶어 노션에 정리해둔 내용들을 블로그에도 같이 공유하고자 한다.
Git이란 무엇인가?
Git은 분산 버전 관리 시스템으로, 소프트웨어 개발에서 여러 사람이 함께 작업할 때 코드의 변경 이력을 관리하고 추적하는 도구이다.
이를 통해 여러 명의 개발자가 동시에 같은 프로젝트를 효과적으로 관리하고, 변경 사항을 추적하며 협업할 수 있다.
Git은 프로젝트의 모든 버전을 저장하고, 필요할 때 이전 상태로 되돌릴 수 있도록 해주는 등 개발자들에게 많은 혜택을 제공한다.
좀 더 간단하게 설명하자면 협업을 할 것 같으면 구글드라이브같은 저장소에 협업할 프로젝트를 올리고 각자 작업하고 합치면 되는것을 왜 굳이 git을 사용하느냐? git에서는 다른사람이 같은 파일을 작업하더라도 다른 부분을 작업했다면 알아서 합쳐주고 같은 부분이 따로 수정되었다면 버전을 합칠때 어느 코드를 사용할건지 둘다사용할건지 merge하는 사람이 직접 관리 할 수 있도록 해준다.
또한, 위에서도 설명되어있듯 커밋(버전저장)을 통해 버전관리를 하며 내가 원하는 버전으로 언제든지 돌아갈 수 있게하는 기능을 제공한다.
1. GIT의 설치
https://git-scm.com/
우선 위의 사이트로 이동하여 깃을 설치한다.
윈도우 사용자의 경우 Git Bash를 함께 설치해주면 더욱 좋다.(리눅스기반의 명령어를 사용하기 때문)
git --version
설치 후에 위의 명령어로 깃이 정상적으로 설치되었는지 확인해볼 수 있다.
2. 기본 세팅법
git config --global user.name "(본인 이름)"
git config --global user.email "(본인 이메일)"
깃에서 사용될 본인 이름과 이메일을 설정한다.
지금 설정하는것은 깃허브와 전혀 무관하니 원하는 이름으로 설정해주면 되겠다.
3. 간단한 커멘드 및 사용법
- git init : git을 생성(clone해서 쓰는게 편해서 사실상 쓸일이 잘 없다)
- git add . : 모든 파일을 스테이지에 올리는 작업
- git commit -m “메세지” : 스테이지에 올라가 있는 것들을 커밋(적용)함
- git status : 스테이지에 올라간 파일이나 마지막 커밋의 상황과 다른 것들을 비춰줌
- git log : 현재 깃프로젝트의 지금까지의 커밋된 내용들을 볼 수 있음 (리셋하거나 브렌치딸때 쓰이므로 나중에 협업시 사용가능) → 편하게 보기위한 설정은 8번
- git log —oneline : log를 보다 간단한 자료만 보여줌
- git checkout 해시코드 : 해당커밋으로 이동함
- git reset —hard 해시코드 : 해당커밋으로 리셋시킴(복구불가능)
- 로그 편하고 이쁘게 보는 법 : 아래는 유튜버 드림코딩 엘리님의 강의를 보고 내가 설정했던 alias이다. *문제가되면 삭제하겠습니다.
git config —global alias.hist “log --graph --all --pretty=format:'%C(yellow)[%ad]%C(reset) %C(green) [%h]%C(reset) | %C(white)%s %C(bold red){{%an}}%C(reset) %C(blue)%d%C(reset)' --date=short”
- git push origin master : 커밋된 내용들을 깃허브에 업로드하는 작업 (origin은 원격저장소 이름, master는 로컬저장소의 브렌치명이다.)
- git clone (내용) : 깃허브에 올라가 있는 레포지토리를 내 로컬저장소로 땡겨오는 커멘드
이 게시글은 간단한 사용법만 알려주고 있기 때문에 정확한 사용법이나 좀 더 깊게 알고 싶다면 드림코딩엘리님의 강의와 얄코님의 강의를 추천한다.
드림코딩 엘리 : https://www.youtube.com/watch?v=Z9dvM7qgN9s&t=979s
얄코 : https://www.youtube.com/watch?v=1I3hMwQU6GU&t=6983s
4. GitHub 계정 만들기 및 연동하기
- 계정 생성 후 퍼스널 엑세스 토큰 생성하기 : https://www.yalco.kr/@git-github/4-2/
- 생성한 토큰은 페이지를 벗어나면 다시 보여지지 않기 때문에 일시적으로 메모장등에 저장
- 윈도우-자격 증명 관리자 -window자격증명-github.com- 사용자이름:깃허브이름,암호:토큰
- 맥은 키체인 접근을 검색하여 들어가서 github.com을 찾아 들어가서 윈도우와 똑같이 해주면된다.
- 깃허브에서 레포지토리 생성하기
- 생성 후 세팅 커멘드 : https://www.yalco.kr/@git-github/4-3/
얄코님이 사진과 함께 정리해둔 사이트들이 있어서 링크를 같이 올려둔다.
'Framework&Tools > GIT' 카테고리의 다른 글
Git 팀프로젝트 시작하기 (1) | 2024.05.15 |
---|