티스토리 뷰
▶GitHub란?
요즘 부쩍 사용하게 되는 일이 많아졌는데 얼렁뚱땅 매번 구글링하면서 쓰는 것 같아 한번 정리해보려고 합니다 :)
1. Git이란?
Git은 형상 관리 도구 중 하나로, 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.
Git은 소프트웨어 개발에서 소스 코드를 효과적으로 관리할 수 있도록 하는 무료, 공개 소프트웨어로,
프로젝트 폴더 내에서 작업을 기록하고, 버전 관리를 통해 체계적인 개발이 가능하도록 합니다.
2. Git의 장점
소스코드를 따로 주고 받을 필요 없이, git을 사용하면 하나의 프로젝트, 같은 파일을 여러 사람이 동시에 작업하는 병렬 개발이 가능하다는 것입니다.
카톡으로 파일을 주고 받았던 과거의 나 반성해.....
3. Github란?
깃허브(GitHub)는 분산 버전 관리 툴인 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스이다.
github는 버전 관리와 협업을 위한 코드 웹 호스팅 플랫폼으로, 언제, 어디서나 협업 프로젝트를 쉽게 진행할 수 있도록 돕는 역할을 합니다.
3. GitHub 주요 개념
① commit
하나 이상의 file에 변경한 내용을 저장할 때마다 새로운 commit이 생성됩니다.
로컬에서 변경한 내용을 commit, push 하고서 나의 원격 저장소인 깃허브에 들어가보면 버전이 업데이트 되어 있는 것을 확인할 수 있습니다.
commit과 관련된 일화는... 처음으로 여러 개의 큰 파일을 올리려고 했을 때 commit 버튼이 비활성화 되어서 당황했었는데 알고보니 2개 이상의 파일을 커밋할 경우 커밋 메시지를 적어주어야 하더라구요ㅎㅎ...
② branch
새 코드의 테스트나 새 기능을 넣어 사용해보기 위해 사용할 수 있는 따로 떨어진 독립적인 commit을 말합니다.
branch의 뜻처럼, 새로운 방향으로 가지를 뻗어나갈 수 있는데요.
특히, 다른 사람들과 협력할 때 각자의 branch를 만들어 각자 commit을 하면서 병렬적으로 작업을 진행합니다.
③ merge
병합을 의미하며, 하나의 브랜치의 작업을 다른 브랜치에 통합하는 것을 의미합니다.
머지를 잘못해서 충돌이 날 수도 있으니 주의가 필요합니다..!
④ pull request
협업을 할 때, 추가로 개발 가능한 기능이나 수정하고 싶은 작업에 대한 논의를 위해 이용하는 토론실 같은 역할입니다.
각자의 branch에서 작업을 하고 이 기능을 main에 병합하고 싶다! 할 때 pull request를 합니다.
쉽게 말하면, pull request를 했다 = 이걸 main에 추가하고 싶은데 다들 어떠세요~?
⑤ clone
복제를 의미합니다.
로컬 작업을 위해 복사본을 github에서 다운로드한다는 개념으로 이해할 수 있습니다.
즉 깃허브에 올라와 있는 repository를 사용자의 컴퓨터로 복사하는 과정입니다.
⑥ fork
남이 만든 오픈소스 등을 직접 변경하고 싶다면 먼저 내 계정을 그 프로젝트의 복사본을 만든 다음 이를 수정하게 되는데 이 과정을 fork라고 합니다.
⑦ README.md
깃허브에 repositoy를 생성하게 되면 생성 조건들 사이에 README 파일을 생성할래? 하고 물어봅니다.
물어보면 저는 대체적으로 생성하는 편인데, 여기에 이 repository가 무엇인지 작성하면 됩니다.
즉, 이 파일을 통해 "이 repository는 이럴려고 내가 만들었어~"하는 것입니다.
4. Git 명령어
분류 | 기능 | 명령어 |
시작 및 설정 | 설치된 git 버전 확인 | $ git --version |
.git 하위 디렉토리 생성 | $ git init | |
사용자 이름 설정 | $ git config --global user.name "사용자이름" | |
사용자 이메일 설정 | $ git config --global user.email "사용자이메일" | |
상태 확인 | $ git status | |
저장소 | 원격 저장소 연결 | $ git remote add origin [github 저장소 주소] |
저장소 확인 | $ git remote -v | |
로컬 저장소 복제 | $ git clone /로컬/저장소/경로 | |
원격 저장소 복제 | $ git clone 이름@호스트:/원격/저장소/경로 | |
commit 명령어 | 커밋에 변경사항 올림 | $ git add 파일명 |
수정한 전체파일 올림 | $ git add . | |
커밋 생성(변경사항 저장) | $ git commit -m "메세지" | |
커밋 내역 확인 | $ git log | |
파일 상태 확인 | $ git status | |
branch 명령어 | 브랜치 목록 확인 | $ git branch |
브랜치 생성 | $ git branch 브랜치명 | |
브랜치로 이동 | $ git checkout 브랜치명 | |
브랜치 만들고 이동 | $ git checkout -b 브랜치명 | |
master 브랜치로 돌아옴 | $ git checkout master | |
브랜치 삭제 | $ git branch -d 브랜치명 | |
커밋을 그래프로 표시 | $ git log --branches --graph | |
한 커밋씩 출력 | $ git log --oneline | |
push 명령어 | 원격 저장소에 업로드 | $ git push 저장소주소 브랜치이름 |
커밋을 원격 저장소에 업로드 | $ git push -u 저장소주소 브랜치이름 | |
클라우드 주소 등록 | $ git remote add origin 저장소주소 | |
클라우드 주소 삭제 | $ git remote remove 저장소주소 | |
merge 명령어 | 원격 저장소 변경사항 가져오고 병합하기 | $ git pull |
현재 브랜치에 다른 브랜치 병합 | $ git merge 다른브랜치이름 | |
파일 병합 | $ git add 파일이름 | |
병합 이전의 내용과 비교 | $ git diff 브랜치이름 다른브랜치이름 | |
변경 전으로 되돌림 | $ git checkout --파일명 | |
현재 상태를 다운로드 | $ git fetch origin |
'Git | Github | VSCode' 카테고리의 다른 글
[VSCode] VSCode 유용한 플러그인 (0) | 2022.12.28 |
---|---|
[VSCode] Visual Studio Code에서 기본 터미널을 Git Bash로 설정하기 (1) | 2022.12.02 |
- Total
- Today
- Yesterday
- next.js
- 머신러닝
- 딥러닝
- react
- TypeScript
- 자바스크립트 기초
- 프론트엔드 공부
- 프론트엔드
- react-query
- 타입스크립트
- jest
- CSS
- 인프런
- 프로젝트 회고
- JSP
- rtl
- 리액트
- frontend
- 자바스크립트
- HTML
- styled-components
- 디프만
- 프론트엔드 기초
- 스타일 컴포넌트 styled-components
- 자바
- Python
- 데이터분석
- testing
- 리액트 훅
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |