Git | 기본 세팅, 기초 지식

chaen·2023년 12월 8일

Tools

목록 보기
2/5
post-thumbnail

📌 Git & Github

Git: 분산형 버전 관리 시스템(Version Control System)

  • 파일 변화를 파일 변화를 시간에 따라 기록하며 특정 시점의 버전을 다시 불러올 수 있는 시스템
  • 이전 상태로 돌리거나, 변경 사항을 비교, 변경한 유저와 시기 추적 가능

Github: Git 기반 소스코드 공유, 협업 플랫폼

💻 Git 설치

Window

  1. 공식 홈페이지 로 설치
  2. git bash 실행 후 git --version 입력하여 확인

Mac

  1. 패키지 관리자 다운로드
  2. 터미널 실행 후 소스 붙여넣기
  3. brew install git 입력
  4. Config 설정
  5. git --version 입력하여 확인

Application Program

  • SourceTree 설치 (git을 쉽게 이용하기 위한 gui 툴)
  • 설치를 완료하고 원격 저장소 메뉴에서 계정을 아래와 같은 옵션에서 추가한다. 사용자 명은 깃헙 아이디를, 비밀번호는 Personal Access Token을 입력한다.
  • Personal Access Token 발급과정 : 참고 영상 (윈도우)
  • Personal Access Token 발급과정 : 참고 사이트 ( Mac )


💻 Git 사전 설정

System : 모든 사용자에게 적용
Global : 한 사용자의 전치 Git Repository에 적용
Local : 하나의 Repository에만 적용


1. 전역 사용자명 / 이메일 구성

git bash를 열어 로컬에서 사용할 git 사용자의 이메일과 이름 설정
config: git과 관련한 설정을 추가/ 변경하는 명령어

git config --global user.name "Your name"
git config --global user.email "Your email address"

2. 설정 확인하기

git config --list

3. ssh key 등록하기

Id와 PW를 이용한 로그인 방식이 아닌, 더욱 안전하고 암호화된 로그인 방식이다.
SSH(Secure Shell)은 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜로, 공개 키 암호화를 통해 사용자나 디바이스를 식별하기 위해 서버에서 사용한다. SSH키는 영숫자 조합으로 구성되며 지정된 사용자 또는 디바이스에 고유하다. 서버에 SSH키를 추가하면 비밀번호가 아닌 해당 개인용 SSH키를 사용하여 서버에 액세스할 수 있다.

cd ~  #홈 디렉토리로 돌아감
cd .ssh  #.ssh 폴더 안으로 접속 / 여기서 파일이 없다고 뜰 경우 아래의 명령어를 입력한다.
mkdir .ssh //  # .ssh 폴더 생성 
cd .ssh
#---------

ssh-keygen -t rsa #키 생성, 엔터 두번 (비밀번호 x)
cat ~/.ssh/id_rsa.pub // 키 확인하기
  • Github 계정에 SSH 공개 키(.pub)를 등록하기
    : Setting - Access - SSH and GPG keys - new SSH keys

💻 Git 초기화 및 삭제

초기화

git init

초기화 할 폴더에서 명령어 (init) 입력
초기화 시 숨김 폴더로 .git 폴더를 생성

❗ 중요 개념
초기화는, 해당 폴더를 git으로 관리하겠다는 뜻이다.

삭제

.git 폴더를 삭제 혹은 아래의 명령어 입력

rm -rf.git 

더 이상 git으로 관리하지 않겠다는 뜻이다.


💻 Git 선택적 관리

gitignore

  • 사용자가 git에 등록(커밋)되지 않기를 원하는 파일 (미디어 파일) 또는 폴더들의 목록을 저장한다.
  • .gitignore 에 등록된 파일(폴더)은 자동으로 커밋에서 제외된다.

작성법

  • # : 주석
  • /foler : 폴더
  • file.ext : 파일
  • /folder/*.ext : folder 안 특정 확장자 형식 파일 전부
  • /foler/**/*.ext : 폴터 하위 모든 특정 확장자 파일 전부

유용한 참고 사이트

  • gitignore.io
  • 제외할 파일들을 기본적으로 알려 줌
  • react, Vue 등의 언어 이름을 검색

💻 Git 동작 원리

  • Working Directory : 작업대
  • Staging Area : 임시 무대
  • Local Repository : 로컬에 저장됨
  • Remote REpository : github(원격)에 저장됨
  • 로컬 저장소: 내 PC에 파일/ 폴더를 저장할 수 있는 개인용 저장 공간 / git init 을 통해 초기화를 했을 때 .git 폴더가 생긴 위치
  • 원격 저장소: github에 생성되는 온라인 저장 공간

업로드

Working Directory > git add > Staging Area > git commit > Local Repository > git push > Remote Repository

다운로드

Remote Repository > git fetch > Local Repository > git merge > Working Directory


💻 Git 기본 용어

  • origin : 원격(Github 등 온라인 저장소)에 위치한 코드
  • head: 작업 중인 로컬 브랜치
  • add: Working Directory에서 Staging Area로 등록
  • commit: Staging Area에 등록된 파일을 Local Storage로 등록
  • commit Message : commit 할 때 함께 작성하는 메모
  • push: Local Storage에 등록된 파일을 Remote Repository로 등록
  • fetch: Remote Repository에서 변경된 파일들을 Local Storage로 가져오기
  • merge: Local Storage의 변경 사항을 Working Directory로 가져오기
  • branch: 소규모의 독립적인 구역
  • checkout: 다른 브랜치로 변경 (사용할 파일 변경)

References

0개의 댓글