⭐️Git & Github

chloe·2020년 10월 5일
0

TIL

목록 보기
11/81
post-thumbnail

개발자라면 꼭 알아야하는 툴은 바로 Git과 github이다.
꼭꼭 잘 알아둬야 하기에 블로그 작성을 통해 정리해보려고 한닷~!

Git 이란?

Git의 공식 명칭은 분산버전관리 시스템(VCS)이다.
쉽게말하면 프로젝트 파일의 변경 사항을 추적하는 시스템이라고 할 수 있다. 이를 통해 개발자들은 프로젝트의 변경사항을 기록하고 특정 시점의 버전으로 언제든 돌아갈 수 있다. 이런 버전 관리 시스템은 많은 사람들이 효율적으로 함께 작업하고 프로젝트를 중심으로 협업할 때 사용할 수 있다.

🍓Repositories(저장소)
Git을 사용할 때는 repository라는 용어를 잘 알아야 한다. Git repository는 Git으로 관리하는 프로젝트 저장소이다.

🍑Initializing a repository

새 저장소를 만들고 Git으로 프로젝트 관리를 시작하려면 터미널에서 프로젝트 폴더로 이동 후 다음 명령어를 입력해야 한다.

git init

이 명령어는 프로젝트 폴더 내에 숨겨진 .git 디렉토리를 생성한다. 이제 Git은 현재 저장소에 대한 모든 변경사항을 추적/관리하게 된다.

🍒Staging and committing code

Git에서 commit이란 프로젝트의 현재 상태를 나타내는 체크 포인트 또난 스냅샷. 다시 말해, 현재 버전의 코드를 커밋에 저장한다고 생각하면 된다.
커밋 히스토리에 필요한만큼 커밋을 생성할 수 있고 커밋 간 앞뒤로 이동하여 프로젝트 코드의 다른 변경 사항을 확인할 수 있다. 일반적으로 커밋을 남기는 시점은 특정 내용, 기능을 추가한 후 또는 수정사항을 적용한 후 정도를 들 수 있다.

  • 코드를 커밋하려면 우선 코드를 staging area에 추가해야 한다.

🥥checking the status(상태 확인)

git status

터미널에서 위 명령어를 입력해 repository의 현재 상태를 확인할 수 있다. git status 명령어를 통해 git으로 관리(추적)되고 있지 않던 파일이 있다면 해당 파일들을 staging area로 추가해줄 수 있다.

모든 파일이 Git으로 관리되고 있는 시점에서는 git status명령어를 통해 모든 변경사항을 확인할 수 있고 커밋을 남기기 위해 staging area로 추가해줘야 한다.

🥭staging files(staging area에 파일 추가하기)

프로젝트 폴더에서 git add라는 명령어를 통해 우리가 원하는 파일을 staging area로 추가해줄 수 있다.

git add .

위와 같이 모든 파일을 한번에 추가할 수도 있다.

🍉Making commits(커밋 남기기)

커밋은 특정 시간의 코드 스냅샷의 형태로 해당repository의 커밋 기록에 남게 된다.
git add 명령어를 사용하여 모든 파일을 staging area에 추가 해주었다면 이제 커밋을 남길 준비가 된 것!

git commit -m "Commit message"

커밋 메시지는 repository에 커밋하는 변경 사항을 설명하는 짧은 summary여야 한다. 위 명령어를 실행하면 터미널에 방금남긴 커밋에 대한 세부 내용이 보여진다.

🍋Commit history
프로젝트의 모든 커밋 내역을 보려면 아래 명령어를 입력하면 된다.

git log

git log 명령어를 통해 보여지는 log는 각 커밋에 대한 자세한 정보를 담고 있다.(작성자, hash값, 날짜와 시간, 그리고 커밋메세지)
특정 커밋 시점의 코드로 되돌리고 싶다면, 아래 코드를 사용해라

git checkout <commit-hash>

Branches

브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기에 여러 작업을 동시에 진행할 수 있다~!

저장소를 처음 만들면 Git은 바로 master라는 이름의 브랜치를 만들어 둔다. 이 새로운 저장소에 새로운 파일을 추가하거나 추가한 파일 내용을 변경해 그 내용을 저장(커밋)하는 것은 모두 'master'라는 이름의 브랜치를 통해 처리할 수 있는 일이 된다.

Creating a new branch (브랜치 생성)

git branch <new-branch-name>

새로 만들어진 브랜치는 현재 프로젝트의 코드를 그대로 반영하여 생성된다.

changing branches(브랜치 전환하기)

git checkout <branch-name>

위 명령어를 통해 다른 브랜치로 이동할 수 있다.
브랜치 생성과 동시에 생성된 브랜치로 이동하고 싶다면 기존 checkout 명령어에 -b라는 flag를 추가해주면 된다.

GitHub란 무엇인가?

github는 git repository를 위한 호스팅 플랫폼이다.
github없이도 git을 사용할 수 있지만 다른 개발자와 같은 프로젝트를 두고 협업할 때는 어렵다;

한마디로 Github은 Git을 사용하는 프로젝트를 위한 호스팅 서비스이다.
GitHub repository는 모든 프로젝트 파일들과 코드의 히스토리를 관리할 수 있게 해주고, public 혹은 private 하게 협업할 수 있게 해준다.

깃 명령어에 대해 알아보자

내가 작업할 환경인 브랜치를 생성하려고 함

git branch feature/chloekim

브랜치 생성 잘되었는지 확인하려면 git branch +enter

내가 만든 브랜치로 이동하려면 아래와 같이!

git checkout feature/chloekim 
  • 작업 완료 후,

1)변경사항에 대해 확인하려면 git status +enter (어떤 파일을 수정,추가,제거했는지 확인 가능)

2)git add .(stage에 추가, 이제 커밋메시지 남길 준비가 되었다는 뜻)

3) 멀티라인 커밋작성
git commit-> 에디터 열림
에디터 아래 template에 맞춰 커밋 메시지 작성
:wq로 저장

분류
Add - 레이아웃/기능추가
Remove - 내용 삭제( 폴더/파일 삭제)
Modify - 수정(버튼 색깔 변경/폰트변경)
Fix -버그/오류 해결
Refactor- 코드 리팩토링( 멘토리뷰반영/스스로 리팩토 링/중복코드 제거/불필요 코드제거/성능개선)

ex) Add: 이미지 슬라이더 추가

  • 메인페이지 이미지 슬라이더 구현

4)제대로 git commit했는지 확인하려면 git log +enter
5)git push origin feature/bogyeongkim
이렇게 푸쉬가 시작된다! 푸쉬를 했으면 브랜치를 궁극적으로 마스터브랜치와 합쳐야 하니까 pull request를 해야함
6)푸쉬를 하면 링크가 하나뜨는데 거기로 가보자. 그 다음 pull request만드는 페이지로 이동한다.

profile
Front-end Developer 👩🏻‍💻

0개의 댓글