About Git

easy!·2023년 3월 9일
0

Git을 사용하는 이유

코드 관리 측면

  • 변경된 이력 확인
  • 이전 이력으로 되돌리기
  • 다른 기능의 버전 코드 유지
  • 현재 최종이 어느 시점인지 표현할 수 있음

협업의 측면

  • 각 기능별로 분업 후 하나의 코드로 합칠 수 있음
  • 같은 부분을 수정해 문제가 생기는 경우 안내
  • 협업으로 인한 실수 예방
  • 팀원 간의 커뮤니케이션 지원

Git 기반의 서비스

프로젝트 소스코드 클라우드 호스팅 + 특색에 맞는 기능 제공!

  1. Bitbucket (https://bitbucket.org)
    Atlassian의 제품들과 연계(Jira: https://www.atlassian.com/ko/software/jira)

  2. GitLab(https://about.gitlab.com/)
    설치형 Git => 용량에 대한 비용 절감, 소스코드의 보안 좋음


Git 설치(MAC)

사전준비. Homebrew 설치

https://brew.sh/index_ko

Homebrew란?

Mac환경에서 제공하지 않는 유용한 패키지를 설치할 수 있도록 도와주는 패키지 관리자

  1. 터미널 실행
  2. brew install git 입력
  3. git -version 입력 후 확인
  4. Config 설정(User Name/ User Email 설정)
  5. 설치 완료

사용자 설정 및 셋팅

Git 사용자 설정

로컬에서 사용할 Git 사용자 이메일과 이름을 설정
git config: Git에 관한 설정을 추가/변경/삭제하는 명령어
설정파일 - System 설정 파일/ Globla 설정 파일/ 로컬 설정파일

System 설정 파일 : 모든 시스템 사용자에게 적용 (git config --system)
Global 설정 파일 : 한 사용자의 전치 Git Repository에 적용 (git config --global)
Local 설정 파일 : 하나의 Repository에만 적용 (git config --local)

Global Git 사용자 설정

git config --global user.email "abc@abc.com"
git config --global user.name "Hong Gil-dong"

설정 확인

git config --list

Github 계정에 ssh key 등록하기

  1. ssh key 만들기
    https://bit.ly/368zxvR
  2. Github 접속 후 오른쪽 상단 프로필 클릭 Setting->SSH and GPgKeys
  3. New SSH Key 클릭해 Title과 복사한 Key 입력 후 Add SSH Key 클릭

Git 초기화 및 삭제

Git 초기화

명령어: git init
초기화 할 대상 폴더에서 명령어(git init)입력
Git 초기화 시 폴더 안에 숨김 폴더로 .git 폴더 생성 (Local Config등으로 구성)

Git 삭제

단순히 .git 폴더를 삭제
mac의 경우 폴더를 삭제하는 명령어 입력: rm -rf .git


.gitignore란?

사용자가 git에 등록(커밋)되지 않길 원하는 파일 또는 폴더들의 목록을 저장
.gitignore에 등록된 파일(폴더)들은 커밋 시 자동으로 제외됨

작성법

  • #은 주석의 역할
  • 폴더 : /폴더명 (예: /docs)
  • 파일 : 파일명.확장자 (예: test.txt)
  • 폴더 안 파일: /폴더명/파일명.확장자 (예: /docs/test.txt)
  • 폴더 안 특정 확장자 파일 전부 (예: /docs/*.text)
  • 폴더 하위 모든 특정 확장자 파일 전부 (예: /docs/*/.txt)

.gitignore 작성에 유용한 사이트

https://gitignore.io

기본 동작 원리

  • Working Directory: 작업하는 파일이 있는 디렉토리
  • Staging Area: Git에 등록할(커밋)파일들이 올라가는 영역
  • Local Repository: 로컬 Git 프로젝트의 메타 데이터와 데이터 정보가 저장되는 영역
  • Remote Repository: Github등의 서비스를 통한 온라인 상의 저장소

기본 용어

  • orgin: 원격에 있는 코드
  • head: 내가 지금 작업하고 있는 로컬 브랜치
  • add: Working Directory에서 Staging Area로 등록하다
  • commit: Staging Area에 등록된 파일을 Local Storage로 등록
  • commit Message: commit시 함께 작성해 저장하는 메시지(메모)
  • push: Local Storage에서 변경된 파일들을 Remote Repository로 등록
  • fetch: Remote Repository의 변경사항을 Working Directory로 전달
  • merge: Local Repository의 변경사항을 Working Directory로 전달
  • Branch: 독립적으로 어떤 작업을 따로 진행하기 위한 가지
  • checkout: 사용할 다른 브랜치를 지정
profile
이름처럼 쉽게 개발 공부를 기록하자. 📝

0개의 댓글