[새싹 프론트엔드] Git

Ryu·2022년 12월 21일
0

새싹

목록 보기
33/36

Git & GutHub

Git이란 무엇인가

Git

  • 2005년 리누스 토르발스가 처음 소개
  • 특징
    • 컴퓨터 파일의 변경사항을 추적
    • 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템
  • 개발자들은 깃을 통해 수많은 소스 코드를 효율적으로 관리

깃의 특징

  • 버전 관리(Version Control)
  • 백업(Backup)
  • 협업(Collaboration)

버전 관리(Version Control)

  • 문서를 작성한 뒤 원본도 남겨두고 수정한 내용을 저장해야 하는 경우
  • ‘다른 이름으로 저장’을 주로 사용

  • 깃을 사용한다면?
    • 파일 이름은 유지하면서 문서를 수정할 때마다 언제 수정했는지, 어떤 것이 변경되었는지 기록 가능

백업(Backup)

  • 백업이란?
    • 현재 내 컴퓨터에 있는 자료를 다른 곳에 복제
    • USB 디스크, 외장하드, 드롭박스(Dropbox) 등
  • 깃허브(GitHub)
    • 깃 파일을 위한 원격 저장소 또는 온라인 저장소

협업(Collaboration)

  • 깃허브와 같은 온라인 서비스를 사용하면 여러 사람이 함께 일할 수 있음
  • 깃허브(GitHub)의 장점
    • 팀원들이 파일을 편하게 주고받으면서 일할 수 있음
    • 누가 어느 부분을 수정했는지 기록에 남음

깃의 특징

  • 버전 관리(Version Control)
    • 문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 편하고 구체적으로 기록하기 위한 버전 관리 시스템
  • 백업(Backup)
    • 현재 컴퓨터의 자료를 인터넷 상의 공간(원격 저장소)에 백업
    • 주로 깃허브(GitHub) 사용
  • 협업(Collaboration)
    • 원격 저장소를 기준으로 여러 사람이 함께 일할 수 있음
    • 누가, 언제, 어느 부분을 수정했는지 기록 가능

깃 프로그램의 종류

깃허브 데스크톱(GitHub Desktop)

  • 깃허브에서 제공하는 프로그램
  • 그래픽 사용자 인터페이스(GUI)로 구현
  • 사용이 쉬워 누구나 배울 수 있음
  • 기본적인 기능만 제공

토터스깃(TortoiseGit)

  • 윈도우 전용 프로그램
  • 윈도우 탐색기의 빠른 메뉴에 추가되는 프로그램

소스트리(Source Tree)

  • 깃의 기본 기능부터 고급 기능까지 제공
  • 사용법은 복잡하지만 익숙해지면 자유롭게 깃을 활용할 수 있음

커맨드 라인 인터페이스(CLI)

  • 터미널 창에 직접 명령을 입력해서 깃을 사용하는 방식
  • 리눅스 명령어 및 깃 명령어를 알아야 사용 가능
  • 대부분의 개발자들은 이 방식으로 깃을 사용

깃 설치하기

macOS

  • homebrew 설치하기
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/i nstall.sh)"
  • 깃 설치하기
$ brew install git
  • Git Bash 화면에 다음 명령어 입력
$ git

깃 환경 설정

사용자 정보 입력

  • 사용자 이름
$ git config --global user.name "사용자 이름"
  • 사용자 이메일
$ git config --global user.email "사용자 이메일"

줄바꿈 문자열

  • Windows
$ git config --global core.autocrlf true
  • Mac
$ git config --global core.autocrlf input
  • \r: carriage return
  • \n: line feed

줄바꿈 문자열 문제 해결

  • core.autocrlf

버전 만들기

버전이란?

  • 깃에서 문서를 수정하고 저장할 때마다 생기는 것
  • 버전마다 변경 시점과 변경 내용을 확인할 수 있음
  • 이전 버전으로 되돌아갈 수 있음

스테이지와 커밋

작업 트리(working tree)

  • 파일 수정. 저장 등의 작업을 하는 디렉터리
  • 작업 디렉터리(working directory) 라고도 함
  • 우리 눈에 보이는 디렉터리를 말함

스테이지(stage)

  • 버전으로 만들 파일이 대기하는 곳
  • 눈에 보이지 않음

저장소(repository)

  • 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳
  • 눈에 보이지 않음

버전 생성 과정

  1. 작업 트리에서 파일을 수정하고 저장

  2. 버전을 만들고 싶으면 스테이지에 넣음

    $ git add .
  3. 버전을 만들기 위해 깃에게 ‘커밋(commit)’ 명령을 내림

    $ git commit -m "커밋메시지"
    • 커밋 메시지
      • 커밋할 때 해당 버전에 어떤 변경 사항이 있었는지 확인하기 위한 메시지를 기록
      • 영어로 작성하는 것이 좋음
  4. 스테이지에 있던 파일을 저장소에 새로운 버전으로 저장

원격 저장소

지역 저장소(local repository)

  • 작업을 수행한 후 커밋을 저장한 컴퓨터

원격 저장소(remote repository)

  • 지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소
  • 지역 저장소와 연결되어 있으면서 백업 및 협업ㅇ을 가능하게 함
  • 인터넷에서 원격 저장소를 제공하는 서비스를 주로 사용
    • 깃허브

깃허브란?

깃허브(GitHub)

  • 깃과 관련해서 가장 많이 사용하는 원격 저장소 제공 서비스

특징

  • 무료 및 유료 서비스
  • 다양한 오픈 소스 제공
  • 깃을 설치하지 않고도 온라인상에서 버전 관리 기능 사용 가능
  • 지역 저장소를 온라인상에 백업 가능
  • 협업 프로젝트에 사용 가능
  • 개발 이력 기록 가능

지역 저장소를 원격 저장소에 연결하기

원격 저장소 주소

https://github.com/아이디/저장소이름
  • 원격 저장소 주소만 있으면 어디서든 지역 저장소를 백업하거나 다른 사람과 협업이 가능함

파일 생성

  • 예) myProject 폴더 생성 → 깃 초기화
$ git init
  • main.js 파일 생성 후 작업
console.log("Hello!");

작업한 파일 스테이지에 올리기

  • 특정 파일만 스테이징
$ git add 파일명
  • 모든 파일 스테이징
$ git add .

브랜치 변경하기

$ git branch -M main

원격 저장소에 연결하기

$ git remote add origin 원격_저장소_주소

원격 저장소에 push 하기

$ git push -u origin main

새싹DT 기업연계형 프론트엔드 실무 프로젝트 과정 10주차 블로그 포스팅

0개의 댓글