[Git]git과 github 제대로 이해하기!

Hyodduru ·2022년 3월 10일
0

CS & Etc.

목록 보기
4/12
post-thumbnail

사실 지금까지 프로그램 개발을 할 때 github desktop으로만 계속 commit을 해보다가 오늘 드디어! 제대로 git에 대해 배워보았다.

아직까지는 익숙하지가 않지만 명령어나 실제 파일 생성되고, local branch를 만들고 파일들을 수정 후 commit을 하고,, master branch에 pull request 하는 등의 전체적인 과정들을 계속 연습해보다보면 곧 익숙해질 것이라 생각한다,,!!

그렇기에 오늘 배운 git과 github 제대로 사용하는 방법에 대해 정리를 해보겠다(요)🔥❗️❗️❗️

1. Git

Version Control System(VCS) 분산 버전 관리 시스템 👉 변경 사항을 추적하는 시스템
🔖 참고) Version 이란? 각 파일의 완성본들. feat 여러 수정본들,, (ex 최종 최종 최최종)

코드 버전 관리 하는 이유

  1. 수정할 때마다 파일 새로 만들면 관리 힘듬
  2. 언제든 이전 버전의 코드로 돌아갈 수 있기 때문에
  3. 이력을 남기기 위해
  4. 하나의 프로젝트를 두고 여러명의 개발자들이 협업할 수 있기 때문에

2. GitHub

Git을 사용한 프로젝트들의 저장소
개발자들의 social network
👉 GitHub을 사용하여 로컬 프로젝트 repository를 원격 클라우드 기반 GitHub 저장소에 업로드 할 수 있고, public repository 들을 통해 다른 개발자들과 교류할 수도 있다.

👉 즉 git은 프로젝트의 버전관리를 도와주는 시스템이고 github은 git을 이용해 버전관리를 한 프로젝트들을 관리하게 해주는 호스팅 서비스

3. Git 실습

🎮 기본적 명령어(git init 이후 명령어)

  1. git init : git 시작(pwd 입력을 통해 위치확인 후 할것!)

  2. git status : git 상태 확인

  3. git add . : 파일 수정 이력 기록 준비

  4. git commit -m (메세지) : 파일 수정 이력 기록 (그냥 git commit enter 후 작성해주어도 됌!)

  5. git log : commit 이력보기

  6. q : git log에서 나갈 때 누르기

  7. git remote add origin (repository주소) : git과 repository 연결할 때

  8. git push origin (branch이름) : (master branch 에 파일 push 한다) 👉 push 함으로써 github상에 commit 결과들 보여준다!
    🔖 origin : remote이름

  9. git reset —hard 해쉬주소 : 원하는 commit으로 돌아가고 그 위의 commit은 다 없어짐(유의해서 쓸 것,,,)
    git reset —soft 해쉬주소 : 원하는 commit으로 돌아가고 그 위의 commit 또한 보존됌

🍯 git init 과 git clone의 차이

▪️ git init : 빈 git 저장소를 만들거나 기존 저장소를 다시 초기화하는 명령어.
▪️ git clone : 에 해당하는 저장소를 복제해 새 디렉터리로 가져오는 명령어.
👉 git init는 프로젝트 자체를 처음부터 시작하는 것! git clone은 프로젝트 내에 중간 투입이 가능하며 clone시 init 다시 해줄 필요 없다.

🔖 Branch : 개발하는 공간의 단위

🎮 git clone 이후 명령어

❗️알아두어야 할 중요 사항❗️
Master branch에서 절대 코드 작성 불가!

▪️ git branch feature/(branch 이름) : master에서 branch 만들기
ex) git branch feature/login, git branch feature/login-layout

▪️ git checkout feature/(branch 이름) : branch로 이동하기 (해당 branch로 이동한다)

▪️ git branch : 현재 어떤 branch에서 작업하고 있는지 확인

▪️ git add . : commit하기 전 commit할 파일들 적어주기 (특정 파일만 commit하고 싶다면 add (해당 파일 이름) 🔖 참고) add후 git status로 commit가능한지 확인 가능

▪️ git commit - m (메세지) : commit해주기. 🔖 참고) commit후 git log 로 확인 가능

▪️ git push origin feature/(branch 이름) : master branch 에 파일 push 한다.

▪️ git pull origin master feature/(branch 이름) : PR (pull request)
🔖 참고) PR : 내 코드 봐주세요하고 master branch에 보고서 올리는 것! (브랜치당 하나임!) pr이 merge가 될때까지 commit은 쌓인다.
PR을 통해 요청이 받아들여지면, master에 branch에 적힌 코드를 당겨와서 파일을 합친다.(merge & code update)

▪️ git checkout master : 나의 마스터 branch로 이동한다.

▪️ git pull origin master feature/(branch 이름) : remote의 master 코드를 당겨온다. local branch(feature/(branch이름))에 있던 코드들이 remote master branch로 당겨가기 때문에(merge) 그 branch는 더이상 존재하지 않는다.

▪️ git branch feature/main : main branch 만든다.

▪️ git checkout feature/main : main branch로 이동한다.

▪️ git branch : 이동한 후 현재 branch위치 꼭 확인해주기❗️❗️❗️

▪️ git commit —amend : commit 수정하고 싶을 때

📝 추가) commit 올바르게 작성 방법

아래 6가지 종류로 크게 나누어 commit 내용을 적어줄 수 있다!

▪️ Add - 레이아웃 / 기능 추가 ex) Add : login 레이아웃
▪️ Remove - 내용 삭제 (폴더 / 파일 삭제)
▪️ Modify - 수정 (JSON 데이터 포맷 변경 / 버튼 색깔 변경 / 폰트 변경)
▪️ Fix - 버그/오류 해결
▪️ Refactor - 코드 리팩토링 (멘토 리뷰 반영 / 스스로 리팩토링 / 중복 코드 제거 / 불필요 코드 제거 / 성능 개선)
▪️ Docs - 문서에 관련된 수정작업(README.md 등)

template

분류 : 한줄 제목

  • 구현내용 detail

ex)
modify : 메인 페이지 레이아웃 변경
article 위치 변경

🍯 마무리

연습만이 답이다,, git 의 단축어들에 익숙해져보자! 계속해서 git을 통해 commit하고 push하는 연습 & github 깔끔하게 convention 따라서 정리 잘 해주기!! 화이팅팅팅팅👊🏻

profile
꾸준히 성장하기🦋 https://hyodduru.tistory.com/ 로 블로그 옮겼습니다

0개의 댓글