카테고리 없음

[깃&깃허브] 사용방법

elog 2023. 1. 12. 00:00

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 "원격 저장소 주소"