DevOps-Git-01-Git 쓰는 이유와 설치

SeungWoo Yoo ·2023년 2월 7일
0

1. git을 왜 쓰나

코드를 짜든 디자인을 하든 레포트를 쓰든 파일 변경내역을 보존하고 관리하는 과정이 필요합니다.

  • 2023-01-11-디자인 시안_최종
  • 2023-01-12-디자인 시안_최종의 최종
  • 2023-01-13-디자인 시안_최종의 최종2
  • 2023-01-14-디자인 시안_진짜 마지막

Q. 2일 전 코드로 되돌아가려면?

  1. 직접 파일을 매일 만들어 백업해두기
  2. 버전 관리 소프트웨어 쓰기
    • 프로그래머들이 쓰는 Git
    • 파일 복사본을 귀찮게 만들지 않고도 깔끔하게 버전관리가 가능

Git은 토르발스 리눅스(Linux 창시자)가 2005년에 만든 프로그램

  • git checkout 파생명령어 20개 외울 필요없이 신 문법 switch, restore 등을 사용

2. git 설치

2.1 Window

https://git-scm.com/download/win

(1) 설치시 기본 에디터가 Vim으로 설정되어있으면, 설치한 VSCode 에디터로 변경

  • [Use Visual Studio Code as Git’s default editor] 선택

(2) 기본 브랜치 이름을 요즘은 master라고 안쓰고, main이라고 씀, main으로 변경하기

  • [Override the default branch name for new repositoriex]에서 main으로 적기

2.2 Mac

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ brew install git # git 설치

3. git 이름, 이메일 설정

누가 지금 git을 쓰고있는지 구분하기 위한 아이디 등록

$ git config --list # 모든 설정 확인, q를 눌러 다시 빠져나오기
$ git config --global -e # -e는 edit 모드로 열기
$ code . # 현재 디렉토리를 Visual Studio Code로 열기

# code를 에디터와 연동
$ git config --global core.editor "code"
$ git config --global core.editor "code --wait" # 작업을 하는 중에는 터미널이 대기 상태로

$ git config --global -e
$ git config --global user.name "Beren" # 자기가 쓸 이름 설정
$ git config --global user.email "berenickt99@gmail.com" # 자기 이메일로 설정

$ git config user.name
Beren
$ git config user.email
berenickt99@gmail.com

Git을 설치하게 되면 Git에 관련된 모든 환경설정이 .gitconfig라는 파일 안에 저장되는데,
터미널에서도 간단하게 확인 가능


4. core.autocrlf 설정

CR, LF, CRLF

  • CR(Carriage-Return) : 현재 커서를 줄 올림 없이 가장 앞으로 옮기는 동작
  • LF(Line-Feed) : 커서는 그 자리에 그대로 둔 상황에서 종이만 한 줄 올려 줄을 바꾸는 동작
  • CRLF (Carriage-Return+Line-Feed) : 줄바꿈

운영체제마다 에디터에서 새로운 줄바꿈을 할 때, 들어가는 문자열이 다릅니다.

  • 윈도우의 경우 carriage-return과 line feed가 동시에 들어가는 반면에,
  • MAC에서는 line feed 하나만 들어갑니다.

이런 차이점 떄문에 Git Repository를 다양한 운영체제에서 쓰는 경우 내가 수정하지 않았음에도 불구하고
줄바꿈 문자열이 달라져서 Git History나 Git Blame을 보는데 문제가 있을 수 있습니다.

이것을 수정하는 속성이 autocrlf 설정입니다.

  • 윈도우에서 true로 설정하게 되면
    • Git에 저장할 떄는 carriage-return을 삭제하게 되고,
    • 다시 Git에서 윈도우로 가져올 떄는 자동으로 carriage-return을 붙여줍니다.
  • Mac에서는 input으로 설정하게 되면
    • Git에서 받아올 떄는 별다른 수정이 일어나지 않지만,
    • 저장할 떄는 carriage-return을 삭제해줍니다.
# MAC 사용자는 git config --global core.autocrlf input
# Windows 사용자는 git config --global core.autocrlf true
$ git config --global core.autocrlf true

# 만약 위 설정을 안하게 된다면 다음같은 명령어등을 입력할 때 오류들을 볼 수 있습니다.
# warning: LF will be replaced by CRLF in bora.txt.
# The file will have its original line endings in your working directory

# 경고 : bora.txt에서 LF는 CRLF로 대체됩니다.
# 파일은 작업 디렉토리에 원래 줄 끝이 있습니다.

[참고]

코딩애플 Git 강의를 듣고 정리한 내용입니다.

profile
Front-end 공부 중... 책 읽는 걸 좋아합니다.

0개의 댓글