TIL28.Git&GitHub

조연정·2020년 9월 29일
0
post-thumbnail

개발자라면 필수인 버전관리시스템 git,github에 대해 알아보자.

Git이란

git의 공식명칭은 분산버전관리시스템(VCS)으로, 프로젝트 파일의 변경사항을 추적하는 시스템을 말한다.
GitHub는 분산 버전 컨트롤 소프트웨어 Git을 기반으로 소스 코드를 호스팅 하고, 협업 지원 기능들을 지원하는 마이크로소프트Microsoft의 웹서비스이다.

저장소(Repository)

깃허브의 핵심 기능은 Git 원격 저장소 호스팅이다. 쉽게 말하자면 '폴더'인 셈이다. 깃 저장소를 원격에서 호스팅할 뿐만 아니라, 이슈 트랙커, 풀리퀘스트, 소스코드 탐색, 위키, 인사이트 등의 기능을 제공한다.
Local repository: 로컬 버전의 프로젝트 저장소
Remote repository: 로컬저장소와는 반대로 내 컴퓨터가 아닌 외부버전의 프로젝트 저장소. 이 곳에서 프로젝트 코드를 공유하고, 확인할 수있어서 팀작업에 유용하다. 로컬 버전의 프로젝트와 병합하고, 변경사항을 적용하는 것도 가능하다.

Git 명령어

git init: 저장소를 만들고, git으로 프로젝트 관리를 시작한다. 터미널에서 프로젝트 폴더로 이동 후 명령어 입력. 이 명령어는 프로젝트 폴더 내에 숨겨진 .git 디렉토리를 생성한다.
git status: 저장소의 현재 상태(파일의 변경,추가,수정)를 확인할 수 있다.
git add: 원하는 파일들을 staging area로 추가해줄 수 있다.(git add . : '.'을 통해 모든 파일을 한번에 추가할 수 있다.)
git commit -m "message": 현재 버전의 코드를 커밋에 저장한다.
git log: 프로젝트의 모든 커밋내역을 확인할 수 있다.자세한 작성자, hash 값, 날짜와 시간, 커밋 메세지와 같은 자세한 정보를 담고있다.
*.gitignore: git 에서 관리하지 않아도 되는 파일이 있다면, .gitignore 파일을 프로젝트 폴더에 생성하면 된다. 파일 안에, 해당하는 파일명과 폴더명을 새로운 줄에 입력하여 나열하면 된다.

//예시

.DS_*
*.log
logs
**/*.backup.*
**/*.back.*

Branchs

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

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

'master'가 아닌 또 다른 새로운 브랜치를 만들어서 선언(체크아웃)하지 않으면, 모든 작업은 'master' 브랜치에서 이루어진다.

초기세팅 및 진행방법

1.원하는 directory 이동 후 해당 저장소(repo)를 클론에 받는다.


2.작업환경인 브랜치를 생성한다. 보통은 기능별로 브랜치를 만든다.
ex) git branch feature/login(로그인페이지) feature/signup(회원가입페이지)

3.작업완료 후 변경사항 확인하고, stage, commit, push.
*마스터브랜치에서 작업하고 push하면 안됨. 다른 브랜치를 생성하고, 그 브랜치에서 작업해야 한다.

  • stage(git add): 작업 변경사항을 저장해주는 단계.
  • commit:변경사항에 대한 내용을 남기는 단계.(1)
    커밋 메세지가 제대로 작성됐는지 확인하기 위해서 'git log'라는 커맨드 사용.(3)

    *git commit 커멘드로 에디터가 열리면, 상황에 맞는 분류를 작성해주면 된다.(2)
    분류 ex)Add: Remove: Modify: Fix: Refactor:

    status로 진행상태 확인하면, 이제 push커멘드로 보내는 단계.
  • push: origin+브랜치 이름으로 보내기
  • pull request: 보낸 브랜치와 마스터를 합쳐달라고 요청하는 단계. 아래 사진처럼 push 커멘드 이후에 풀리퀘스트 링크가 생긴다. command+ click하면 페이지로 이동하게 된다.
profile
Lv.1🌷

2개의 댓글

comment-user-thumbnail
2020년 10월 1일

...사진 표시까지하면서 정확하게 정리해주셨네요. git을 모르는 사람도 연정님 블로그를 보면서 따라할수 있을 것 같아요. 프론트엔드가 지녀야할 소양 중 하나인 디테일함이 있으시군요 !

1개의 답글