1. System 설정 파일 : 모든 시스템 사용자에게 적용 2. Global 설정 파일 : 한 사용자의 전체 Git Repository에 적용 3. Local 설정 파일 : 하나의 레포지토리에 적용
git config -- ~로 사용
ssh key - github연동
1. ssh-keygen 명령어 사용 2. 이름설정 3. 비밀번호 설정 4. cat으로 내용확인후 key에 복붙하기
git 초기화
git init -> 해당 폴더 자체가 Local Repository가 된다고 생각하면됨
명령을 실행하면 .git/ 폴더 생성config등 다양한 설정파일이 들어있음
.gitignore
사용자가 git에 등록되지 않길 원하는 파일 또는 폴더들의 목록을 저장 .gitignore에 등록된 파일들은 커밋 시 자동으로 제외됨
- 폴더 : /폴더명 (예: /docs) - 파일 : 파일명.확장자 (예: test.txt) - 폴더 안 파일 : /폴더명/파일명.확장자 (예: /docs/test.txt) - 폴더 안 특정 확장자 파일 전부 (예: /docs/*.text) - 폴더 하위 모든 특정 확장자 파일 전부 (예: /docs/**/*.txt)
https://www.toptal.com/developers/gitignore/ gitignore생성 사이트
Git 기본 공간 구조
Working Directory : 작업하는 파일이 있는 폴더 Staging area : Git에 등록할 파일들이 올라가는 영역(깃에 등록하기전에 임시거처(?)) Local Repository : 로컬 Git 프로젝트의 메타데이터와 데이터 정보가 저장되는 영역 Remote Repositroy : 온라인 상의 저장소
Git 기본용어
origin : 원격 (Github 등의 온라인 저장소)에 있는 코드 head : 내가 지금 작업하고 있는 로컬 브랜치 add : Working Directory에서 Staging Area로 등록하다 commit : Staging Area에 등록된 파일을 Local Storage로 등록 Commit Message : commit 시 함께 작성해 저장하는 메시지 (메모) push : Local Storage에서 변경된 파일들을 Remote Repository로 등록 fetch : Remote Repository의 변경된 파일들을 Local Repository로 전달 merge : Local Repository의 변경사항을 Working Directory로 전달 Branch : 독립적으로 어떤 작업을 따로 진행하기위한 가지 checkout : 사용할 다른 브랜치를 지정
Clone
Git Remote Repository에 있는 내용을 복사해 나의 PC로 저장 1.HTTPS를 사용 -> 보안에 취약 2.SSH -> 권장하는 편이다.
ADD, COMMIT, PULL, PUSH
ADD : 변경된 파일 중 Repositroy에 올림 Commit Add: 등록된 파일들을 한 덩어리로 만들고 메시지를 추가해 로컬저장소에 올려줌 Push : 원격저장소에서도 반영을 해줌 Pull : 원격 저장소의 변경사랑을 로컬 저장소로 가져옴으로 동시에 작업소스와 합쳐줌
Fork 복제
다른 사람의 원격 저장소에서 어떤 부분을 수정하거나 추가 기능을 넣고 싶을때 해당 원격 저장소를 내 원격 저장소에 그대로 복제하는것 Clone과는 내 로컬에 저장 원격에 저장 이런 부분이 다름