[깃&깃허브] 사용방법
0. 실습 환경 설정
1) 깃허브 가입하기
2) 깃 설치하기
0.2.1 윈도우에 깃 설치하기
- 깃 홈페이지에서 프로그램 다운로드
- [Choosing the default editor used by Git] >> [Use Vim (the ubiquitous text editor] 설정 확인
- [Adjusting the name of the initial branch in new repositories] >> [Override the default branch name for new repositories] 선택 >> 기본 브랜치 이름 [main]으로 설정
- [View Release Notes] 선택 해제
0.2.2 리눅스에 깃 설치하기
# 터미널 창
sudo apt-get update
# 깃 설치
sudo apt-get install git
# 설치 확인
git --version
# 깃의 기본 브랜치 이름 main으로 설정
git config --global init.defaultBranch main
0.2.3 맥OS에 깃 설치하기
- 깃 홈페이지에서 프로그램 다운로드
- terminal 실행
#Homebrew 설치 명령어 입력
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
#Homebrew 설치 확인
brew --version
# 깃 설치 명령어 입력
brew install git
# 깃 설치 확인
git --version
# 깃 기본 브랜치 이름 main으로 설정
git config --global init.defaultBranch main
3) 비주얼 스튜디오 코드 설치하기
1. 터미널
- 윈도우 - Git Bash, 맥OS/리눅스는 터미널을 명령어 입력에 사용
2. 프롬프트
- 터미널에서 명령을 대기하는 모드
- '사용자 @호스트이름 : 작업중인디렉터리전체경로 $' 형식
3. 기본 브랜치 main
- 깃 설치 >> Git Bash 이용
- 깃허브 >> 회원가입 >> [New repository] 생성 >> 토큰 발급 >> 연결
- cd명령으로 작업폴더로 이동
- 해당 폴더로 이동 -> 마우스 우클릭 -> Git Bash Here
1. 소스 코드 흐름
1) 지역 저장소 -> 깃허브(원격 저장소)
a. 새 프로젝트 생성
b. git init, 해당 프로젝트를 깃 지역 저장소로 지정
c. 파일 수정, git add, 수정한 파일을 스테이징 영역으로 옮김
d. git commit, 지역 저장소에 저장
f. git push, 원격 저장소에 반영
2) 깃허브(원격 저장소) -> 지역 저장소
6. git clone, 깃허브에 올려놓은 프로젝트 전체를 지역 저장소에 내려받기
7. git pull, 일부 변경 사항만 내려받기
2. 지역 저장소 생성하기
2.2.1) 깃 지역 저장소 설정
# 지역 저장소 설정
git init
.git 폴더 내부 살펴보기
# git 숨긴 폴더 확인
ls -a
2.2.2) .git 폴더 확인
# git 폴더 내부 확인
cd .git
ls -l
2.2.3) git init 취소
# git init 취소
rm -rf .git
3. 환경 설정하기
2.3.1) 사용자 등록
- 한 컴퓨터에서 회사 프로젝트와 개인 프로젝트를 동시에 진행한다면 프로젝트마다 지역 사용자 정보를 등록하여 사용하기
# 사용자 등록
git config user.name "사용자 이름"
git config user.email "이메일 주소"
# --global, 모든 프로젝트에 적용될 사용자 정보 등록
git config --global user.name "사용자 이름"
git config --global user.email "이메일 주소"
※ Git Bash 복사 / 붙여넣기
구분 | 단축키 |
복사 | Ctrl + Insert |
붙여넣기 | Shift + Insert |
2.3.2) 깃 설정 파일 확인
# 깃 설정 파일 확인
cat .git/config
2.3.3) 깃 원격 저장소 설정
a. gitbub.com(깃허브)에 접속 >> 로그인
b. [New repository]
c. 생성된 원격 저장소 주소 복사
d. 터미널 실행 >> cd명령 >> 해당 폴더로 이동
e. git remote add origin : 원격 저장소 주소를 깃 지역 저장소에 등록
# 깃 원격 저장소 설정
git remote add origin {복사한 원격 저장소 주소}
2.3.4) .gitignore 파일 설정
a. 프로젝트에서 생성되는 모든 파일을 관리할 필요가 없음
b. 파일 상단에 .gitignore 파일 생성
c. 파일 안에 아래 코드 작성 및 저장
logs
*.log
npm-debug.log*
# Dependency directories
node_modules/
4. 파일 상태 확인하기
# 프로젝트의 현재 파일 상태 확인
git status
# Untracked files 상태
# 파일 상태 변경
git add "파일명"
git add "폴더이름"
# Tracked 상태
5. 커밋 생성 후 푸시하기
2.5.1) 커밋 생성하기
# 커밋 생성하기
git commit
# i 입력
# -- INSERT --
i
# 커밋 문구 작성하기
# ex)
Add .gitignore file
# [Esc] 키 >> :wq 입력 >> [Enter] 키, 커밋 메시지 저장
2.5.2) 커밋 이해하기
# 커밋 로그 조회하기
git log
# 커밋 체크섬, 체크섬 : 커밋을 식별하는 고유한 데이터 단위
# Author : 커밋을 작성한 저자의 이름과 이메일 주소
# Date : 커밋을 작성한 날짜와 시간
# 커밋 메시지
# 파일 단위에서의 변경 내용
# 동일한 결과 출력
git log -p
git log --patch
# 최근 몇 개의 커밋을 보여줌
git log -{숫자}
git log -p -{숫자}
# 각 커밋의 통계 정보 확인
git log --stat
# 커밋 로그를 보여주는 형식 지정
git log --pretty={option}
# 최근 커밋 로그를 한 눈에 살펴볼 때 사용
git log --pretty=oneline
# %h : 짧은 커밋 해시
# %an : 저자 이름
# %s : 커밋 요약
git log --pretty=format:"%h %an %s"
형식 | 설명 | 형식 | 설명 |
%H | 커밋 해시 | %ae | 저자 이메일 |
%h | 짧은 커밋 해시 | %ar | 저자 상대적 시각 |
%T | 트리 해시 | %cn | 커미터 이름 |
%t | 짧은 트리 해시 | %ce | 커미터 이메일 |
%P | 부모 해시 | %cr | 커미터 상대적 시각 |
%p | 짧은 부모 해시 | %s | 커밋 요약 |
%an | 저자 이름 |
# 가시적으로 커밋 로그의 흐름 파악 가능
git log --pretty=online --graph
2.5.3 커밋 수정하기
# 커밋 메시지 수정 방법1
git commit --amend
# 수정 후 [Esc] 키 >> :wq 입력 >> [Enter] 키, 커밋 메시지 저장
# 커밋 메시지 수정 방법2
git commit --amend -m "수정 메시지"
커밋 파일 추가
1. gitignore 파일열기
2. 마지막 줄에 '# Runtime Data' 추가하여 파일 수정
3. git status : 상태 확인
4. git add .gitignore : 커밋에 포함될 파일로 등록
5. git commit --amend --no-edit
- 에디터를 띄우지 않고 커밋 메시지를 수정하지 않겠다는 의미
- 커밋 메시지도 함께 수정하고 싶은 경우 사용하지 말기
커밋 저자 수정
1. git log
2. git commit --amend --author
3. 수정 후 [Esc] 키 >> :wq 입력 >> [Enter] 키, 커밋 메시지 저장
2.5.4) 커밋 푸시하기
origin 서버로 푸시하기
1. cat .git/config
2. git log : 현재 지역 저장소에 등록된 커밋 확인
3. git push {저장소} {브랜치} : 저장된 커밋을 원격 저장소에 등록
git push origin main
새로운 서버로 푸시하기
1. 깃허브 >> [New repository] >> 새로운 원격 저장소 주소 복사
2. git remote add {주소}
3. cat .git.config : 새로운 원격 저장소가 잘 등록됐는지 확인
4. git push origin2 main
5. 커밋이 잘 등록되었는지 깃허브에서 확인
6. 원격 저장소 복제하기
git clone "원격 저장소 주소" "새로운 저장소 이름"
1. [Code] 탭 >> 원격 저장소의 주소 복사
2. 터미널 실행 >> 루트 디렉터리 이동
3. git clone {주소}
4. ls : 지역 저장소가 생성되었는지 확인
7. 마무리
명령어 | 기능 | 명령 형식 |
git init | 지역 저장소 생성 | git init |
git config user.name.name git config user.email |
프로젝트별 지역 사용자 등록 | git config user.name. "사용자 이름" git config user.email" "이메일 주소" |
git config --global user.name.name git config --global user.email |
지역 환경의 전체 프로젝트를 위한 사용자 등록 | git config --global user.name.name "사용자 이름" git config --global user.email "이메일 주소" |
git remote add | 원격 저장소의 주소를 지역 저장소에 등록 | git remote add "원격 저장소 주소" |
git add | 커밋에 포함될 파일 등록 | git add "파일명" |
git status | 현재 프로젝트의 파일 상태 확인 | git status |
git commit | 새로운 커밋 생성 | git commit |
기존 커밋 수정 | git commit --amend | |
기존 커밋 저자 수정 | git commit --amend --author "username<email>" | |
git log | 커밋 내역 확인 | git log |
커밋 내역 가시적/그래프 표현으로 확인 | git log --pretty=online --graph | |
git push | 원격 저장소에 커밋 반영 | git push "원격 저장소 식별자" "브랜치" |
git clone | 원격 저장소 복제 | git clone "원격 저장소 주소" |