Git이란
Git과 GitHib은 대부분의 개발자라면 능숙하게 사용할 뿐아니라, 수많은 기업에서도 깃을 선택해서 사용하고 있다.
깃(Git)은 버전을 편리하게 관리할 수 있도록 도와주는 도구이다. 마치 마법사처럼 , 과거의 시간으로 돌아가 마법을 '얍'하고 부릴 수 있도록 만들어주는 도구이다. 우리가 작업하고 있는 파일들을 원하는 순간으로 다시 돌아 갈수 있도록 도와주는 도구인 것이다.
많은 개발자들이 자신의 프로젝트를 깃헙에서 관리하고 있다. 새로운 회사에 들어갔을때 깃과 깃헙을 잘 알고 있다면 협업할때 선배들에게 칭찬도 받고 정말 멋지게 할수있을 것이다. 이처럼 많은 사람들과 많은 기업에서 이용되어지고 있는 깃을 잘 배워두면 나의 경쟁력 향상에 도움이 될것이다.
Git과 GitHib을 잘 사용할 수 있는 마법사가 되어보자.
Git은 명령어 기반으로한 명령어 프로그램이다 .그래서 터미널에서 커맨드로 배워야지 정식으로 배울 수 있다. 물론 UI어플리케이션도 있다. 하지만 깃에서 제공하는 모든 기능을 담은 UI 어플리케이션을 찾기도 힘들고 버튼을 클릭했을때 내부에서 어떤일이 발생하고 있는지 파악하기가 어렵다. 기술을 처음 배우는 분이라면 터미널을 이용해서 명령어로 하나씩 배우는 것을 추천한다.
Git을 사용하기전 Git의 전체적인 명령어에 대해서 이해하고 사용하는 연습을 하는것을 중점으로 하자.
Git 설치
- Window : https://git-scm.com/ (*Git bash 를 포함시킨다)
- Mac : 맥은 기본적으로 Git 설치되어 있다.
- SourceTree 설치
https://www.sourcetreeapp.com/ - Git을 GUI로 다룰 수 있도록 해주는 툴 (*소스트리 웹사이트에서 운영체제에 맞는 것을 다운 받을 수 있다.)
Git 버전 확인 (Git bash)
설치 후 Git Bash에서 이미 설치가 되어있거나 잘 설치가 되어있는지 확인하려면 아래 명령어를 입력해보자.
git --version
텍스트 에디터 연결하기
터미널이 사용이 어렵게만 느껴진다면, 본인이 자주 사용하는 텍스트 에디터(ex.Visual Studio Code) 로 사용해보자.
code .
환경 설정 확인 : 깃을 설치하게 되면 깃 관련된 모든 환경설정이 git config 라는 파일 안에 저장이 된다. 아래 명령어로 확인해보자 (* Q를 누르면 다시 터미널로 돌아올 수 있다)
git config --list
Git 사용자의 관련된 정보를 설정하기
터미널 프로그램 (Git Bash)에서 아래 명령어 실행
git config --global user.name "(본인 이름)"
git config --global user.email "(본인 이메일)"
아래의 명령어들로 확인하기.
git config --global user.name
git config --global user.email
' core.autocrlf ' 설정
이름과 이메일의 확인까지 끝났다면 아래 명령어로 ' core.autocrlf ' 설정을 하자.
git config --global core.autocrlf true
이 명령어는 운영체제마다 새로운 줄바꿈을 할 때 들어가는 문자열이 달라지는데, 윈도우 같은 경우는 carriage-return과 line feed 가 동시에 들어가는 방면에 맥에서는 line feed 하나만 들어가게 된다. 이러한 차이점 때문에 레파지토리를 다양한 운영체제에서 쓰는경우에 내가 수정하지 않았음에도 불구하고 줄바꿈 문자열이 달라져서 git history와 git blame을 보는데 문제가 있을 수 있다. 이것을 수정할 수 있는 속성이 바로 'core.autocrlf ' 설정이다.
윈도우에서 true로 설정하게 되면 git에 저장할 때는 carriage-return을 삭제하게 되고 다시 깃에서 윈도우로 가져올 때는 자동은 carriage-return을 붙여지게 되는 것이다.
프로젝트 생성 & Git 관리 시작
바탕화면에 폴더를 생성하고 VS Code로 열람하기. (폴더에 숨김모드로 .git 폴더 생성 확인)
git init
git status
프로젝트 변경사항 버전 만들기
변경사항 확인 (상세내역) (파일의 상태를 확인할때 사용함)
git status
변경사항 확인 (간편내역) (파일의 상태를 확인할때 사용함)
git status -s
파일 하나 담기 (*git status로 확인)
git add tigers.yaml
모든 파일 담기(*git status로 확인)
git add .
git commit 메세지 작성하기
git commit
커밋 메시지까지 함께 작성하기
git commit -m "FIRST COMMIT"
아래 명령어와 소스트리로 확인
git log
마법사가 되어 변경전으로 돌아가기
Git에서 과거로 돌아가는 두 방식 reset :
원하는 시점으로 돌아간 뒤 이후 내역들을 지웁니다. revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다.
reset으로 돌아가기.
git log
( q로 빠져나가기)
git reset --hard (돌아갈 커밋 해시)
reset 하기 전 시점으로 복원해보기
백업해 둔 .git 폴더 사용한다.
.git 폴더 복원하기
.git
git log, git status로 상태 확인
git log
# or
git status
git reset --hard
lions.yaml 삭제하기.
revert 로 과거의 커밋 되돌리기
git revert (되돌릴 커밋 해시)
커밋해버리지 않고 revert하기
git revert --no-commit (되돌릴 커밋 해시)
gitignore
프로젝트를 하다보면 다양한 형태의 파일들이 있다. 파일안에 부수적으로 생긴 파일들을 git과 github에 올리고 싶지 않는 파일이 있다면 gitignore을 사용할 수 있다.
# 이렇게 #를 사용해서 주석을 삽입 가능하다.
# 확장자나 폴더를 지정하고 아래 명령어를 사용한다.
# 모든 file.c
file.c
# 최상위 폴더의 file.c
/file.c
# 모든 .c 확장자 파일
*.c
# .c 확장자지만 무시하지 않을 파일
!not_ignore_this.c
# logs란 이름의 파일 또는 폴더와 그 내용들
logs
# logs란 이름의 폴더와 그 내용들
logs/
# logs 폴더 바로 안의 debug.log와 .c 파일들
logs/debug.log
logs/*.c
# logs 폴더 바로 안, 또는 그 안의 다른 폴더(들) 안의 debug.log
logs/**/debug.log
git 명령어 모음집 : https://git-scm.com/docs
'Git & GitHub' 카테고리의 다른 글
MarkDown Github에서 자주 사용하는 태그들 🍯 (0) | 2022.10.05 |
---|