Git에 대해 배워보자

YEZI🎐·2023년 1월 7일
0

Git

목록 보기
1/1

Git

Git : 다운받아 설치해서 사용하는 형상 관리 도구(Configuration Management Tool) 프로그램
GitHub : Git을 기반으로 여러 가지 서비스를 제공하는 온라인 서비스

Git 사용하기

1. Git 설치

  1. Homebrew 페이지에서 스크립트 복사 후 터미널에 붙여넣어 설치
    Homebrew란 macOS에서 제공하지 않는 유용한 패키지를 설치할 수 있도록 도와주는
    macOS 용 패키지 관리자이다.
  2. brew install git 입력
  3. git --version을 입력해 설치 및 버전 확인
  4. 설치 완료❗️

2. GitHub 가입

GitHub란 Git 저장소 호스팅을 지원하는 웹 서비스이다.

Git 사용자 설정 및 세팅

git config : Git에 관한 설정을 추가∙변경∙삭제하는 명령어

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

Global Git 사용자 설정

명령어를 사용하여 로컬에서 사용할 Global Git 사용자 이메일과 이름을 설정한다.

  • 이메일 설정 : git config --global user.email "art11010@naver.com"
  • 이름 설정 : git config --global user.name "Hong Gil-dong"
  • 설정 확인 : git config --list

+ GitHub 계정에 ssh key 등록

매번 SSH 접속 할 때 마다 비밀번호 입력하는 것은 매우 번거롭다.
이때, 신뢰할 수 있는 컴퓨터라면 공개키를 등록해서 비밀번호 없이 간편하게 접속 할 수 있다.
1. ssh key 만들기 (SSH 공개키 만들기 설명 페이지)

1) .ssh 폴더로 이동 후 파일 목록 확인 (.ssh 폴더가 없다면 폴더 생성 후 진행) 2) 키 생성을 위해 `ssh-keygen` 입력 ➔ 파일 이름 입력 ➔ 비밀번호 입력 3) GitHub에 등록 하기 위해서는 자신의 공개키를 Git 서버 관리자에게 보내야 한다.
`cat ~/.ssh/gitlecture.pub`을 입력하여 키 확인
  1. GitHub에 접속하여 오른쪽 상단 프로필 클릭 Setting SSH and GPG keys
  2. New SSH Key 클릭해 Title 입력 및 복사한 Key 붙여넣기 후 Add SSH Key 클릭

Git 초기화 & 삭제

Git을 초기화 하는 것은 해당 폴더 안에 들어가는 모든 파일, 소스 코드들을 Git으로 관리한다 선언하는 것이다.
(초기화 할 대상 폴더 가서 명령어를 입력하면 Git이 초기화 되며 초기화 한 폴더 안에 Local Config 등으로 구성된 숨김 폴더 .git폴더가 생성된다.)

용어

  • repository : 말 그대로 저장소
  • staging area : 커밋 전 깃에 올릴 작업물을 골라 올려놓는 곳

명령어

  • git init : 초기화

  • rm -rf .git (or 그냥.git 폴더 삭제) : git 삭제


  • git add 파일명 : 파일의 현재 상태를 기록

    만약 git add를 여러 파일을 하고 싶다면,

    • git add hihi.txt app.txt
    • git add . : 현재 디렉토리에서 수정된 모든 파일 add
  • git commit -m '커밋 메세지' : 커밋 메세지와 함께 git commit

  • git status : 현재 branch 위치와 현재 staging area에 올라간 파일 또는 수정된 파일을 보여줌

  • git reset 파일명 : git add 특정 파일명 취소
    git reset : 전체 add 취소


  • git branch branch명 : 작성한 branch명으로 branch 생성
  • git switch branch명 : 작성한 branch명으로 이동
  • git checkout branch명 : git switch와 동일한 기능
  • git checkout -b branch명 : 작성한 branch명으로 생성 및 체크아웃을 동시에 함
  • git branch -v : 현재 브랜치 위치 상태 표시
  • git stash : 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어
    (ex. 내가 현재 작업중이고 커밋을 안했는데 다른 브랜치로 이동해야할때 사용)

  • git clone 저장소url : 해당 주소의 소스 clone
  • git remote : 저장소 이름 확인
  • git fetch <저장소명> : 원격 저장소의 변경사항 조회
  • git pull <저장소명> <branch명> : 원격 저장소의 변경사항을 조회 및 merge
  • git push <저장소명> <branch명> : 원격 저장소에 변경사항 push
  • git merge branch명 : 합쳐야하는 branch명을 입력하여 merge

  • git log --oneline --all : 내가 커밋한 내역 전체를 보고 싶을때
    git log --oneline --all --graph : 그래프 옵션을 넣어 커밋 내역을 그래프식으로 봄

    HEAD : 현재 위치를 의미
  • git diff : 최근 commit vs 현재파일 차이점 (요즘 잘 안 씀)

    • 방향키 : j, k를 누르면 스크롤
    • 종료 : q
  • git difftool : diff가 불편해서 좀 더 편하게 볼 수 있음

    • 방향키 : h,j,k,l
    • 종료 : :q or :qa
  • git difftool commitId : commitId 시점과 내 소스 비교

    • commitId 2개까지 가능 (커밋 id 2개끼리 비교함)
    • commitId는 git log --oneline --all 에서 볼 수 있음

git branch

git branch 란 간략하게 말하면 프로젝트 복사본(commit 복사본)이다.

git branch 사용법

  1. branch 생성 명령어를 입력하여 branch 생성
    git branch branch명 : 작성한 branch명으로 branch 생성
  2. 생성한 branch로 이동
    git switch branch명 : 작성한 branch명으로 이동
  3. 필요한 소스 clone
    git clone 저장소url : 해당 주소의 소스 clone

git merge

git merge 란 현재 작업하고 있는 브랜치와 main 브랜치를 합치는 것이다.

git merge 하는 법

  1. 우선 기준이 되는 branch(main branch)로 이동한다.

  2. merge 명령어를 입력하여 입력하여 main branch에 소스 코드를 병합한다.
    git merge branch명 : 합쳐야하는 branch명을 입력하여 merge

소스 충돌(conflict)

서로 다른 소스를 수정했을 경우 문제 없이 merge가 잘 된다.
하지만, 서로 같은 소스를 수정했을 경우 충돌이 난다.

conflict 해결법

conflict 발생 시 수동으로 이를 해결해야 한다.
원하는 코드 남기기git add.git commit -m '커밋 메세지'


References

profile
까먹지마도토도토잠보🐘

0개의 댓글