기타

[Git] 깃공부

음그냥 2023. 7. 12. 01:25
728x90
반응형
SMALL

 

깃은 VCS(버전관리시스템)
소스트리 - 깃을 시각적을 편하게 볼수있게 해주는GUI (단점은 깃의 모든기능들을 섬세하게 다룰수있게 만들어지진X)
vscode에서 상단에 터미널-새터미널(컨트롤+` )로 vscode에서 프로그램 하단부분에 바로 터미널 열수있음,  `은 1옆에 백틱임
vscode에서 컨트롤+쉬프트+P눌러서 검색창에 select default profile 찾아서 엔터치면 터미널 선택가능 (깃배쉬로 설정하면 개꿀)
CLI 는 명령줄을 입력해서 사용하는 인터페이스고,
GUI 는 사용하기쉽게 그래픽요소 활용한 인터페이스임


git 사용할때도, 터미널이나 Git Bash등에 CLI로 명령어를 입력해서 사용하는 방법 or 소스트리 이용해서 GUI로 사용하는방법 2가지있음


*깃에서 뭔가를 실행하기위한 어떤 명령들을 사용할때는 CLI ,
프로젝트의 상태를 깃상에서 자세히 살펴봐야 할때는 GUI쓰는게 나음

 

1. Git 최초 설정

Git 전역으로 사용자 이름과 이메일 주소를 설정

  • GitHub 계정과는 별개

터미널 프로그램 (Git Bash, iTerm2)에서 아래 명령어 실행

git config --global user.name "(본인 이름)"           (프로젝트마다 다르게 설정가능)
git config --global user.email "(본인 이메일)"

 

아래의 명령어들로 확인

git config --global user.name
git config --global user.email

 

기본 브랜치명 변경

git config --global init.defaultBranch main

 

깃의 기본 브랜치는 master였음

프로그래밍에서 master와 slave 용어를 자주볼수있었는데, 흑인노예와 그들의 주인을 연상시켜서 요즘에는 이 명칭들을 바꾸고있는 추세임 

-> 요즘에는 main으로 변경됨

 

 

프로젝트 최상위 폴더를 vscode에서 파일-폴더열기로 선택후 터미널-새터미널로 터미널 열면 특정폴더로 이동해서 들어갈필요없이 자동셋팅되서 깃명령을 바로바로 내릴수있음

 

 

 

git init

입력후 프로젝트 최상위폴더에 숨김파일해제한후에 폴더안에 보면 .git 폴더 생성된거 확인가능함

 

 

*** .git 폴더 지우면 깃으로 관리했던 내역들 다 날아감 (주의)

로컬에서 작업하던건 남아있는데, 과거에 내역으로 돌아갈수없고 다른차원으로 돌아갈수없게됨

의도적으로 .git 지우는거 아닌이상 실수로라도 .git폴더는 안지우는게 좋음

.git 폴더를 지우면 이프로젝트는 깃이 관리하고있지않은 상태로 되버림

ex) 회사프로젝트에서 몇단계 전의 작업에 내가 공부한 신기술을 접목하고싶어서 코드써도 .git 폴더삭제하면 현재차원으로 되돌아갈수없게됨ㄷㄷㄷ

 

git status

https://www.yalco.kr/@git-github/1-5/ 소스참고

vscode에서 프로젝트 폴더에 +버튼을 누르고 tigers.yaml 과 lions.yaml 파일을 생성후 컨트롤 + ` 로 터미널열어서

git status 입력후엔터치면 파일은 인식해서 아래처럼뜸 (주인님 제가 두파일을 관리할까요? 이런뜻, 관리후보뜸)

git status 이 명령어는 현재폴더의 상황을 깃의관점으로 보여주는것임

 

 

***.git 폴더삭제후 git status 명령어 터미널에 입력하면 깃이 관리하고있는 레퍼지토리가 없다고나옴

 


< 소스트리로 프로젝트를 깃에 맡기기 >   -> 이작업은 그냥 CLI에서 git init명령어로 하는게 더 빠름

소스트리 열어서 프로젝트폴더를 드래그해서 로컬저장소글자 아래에 검색창 바로아래부분에 드랍하면 자동추가됨

더블클릭해서 들어가면 아래처럼 내가 추가했던 2개의 파일이 보임

 

소스트리로 특정폴더를 깃에게 맡기려면 소스트리상단의 create눌러서 탐색버튼눌러서 경로잡아준다음에 생성눌러주면 .git폴더가 생김

 

 


Git의 관리에서 특정 파일/폴더를 배제해야 할 경우

a. 포함할 필요가 없을 

  • 자동으로 생성 또는 다운로드되는 파일들 (빌드 결과물, 라이브러리)

b. 포함하지 말아야 할 

  • 보안상 민감한 정보를 담은 파일

.gitignore 파일을 사용해서 배제할 요소들을 지정할 수 있음

 

 

.gitignore 형식

https://git-scm.com/docs/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

 

 

/는 최상위폴더
/folder/secrets.yaml 이면 folder가 최상위폴더

 

 

 

 

 

 

참고자료 : https://www.yalco.kr/@git-github/1-2/

728x90
LIST

'기타' 카테고리의 다른 글

[Git] 깃공부3  (0) 2023.07.18
[Git] 깃공부2  (0) 2023.07.14
[GitHub] 깃허브(GitHub) 연동하기  (0) 2023.04.11
[html] HTML <thead> 태그  (0) 2023.02.24
[Spring boot] Devtools 개발 편의툴  (0) 2023.02.24