Git 설치와 설정, 명령어
Git이란?
Git은 리눅스 창시자인 리누스 토발즈가 Linux 커널을 관리할 목적으로 개발되었다. Git과 Github는 다르다. Github는 분산형 버전관리 시스템(Git)을 기반으로 소스 코드를 호스팅하고, 협업 기능을 지원하는 서비스, 소프트웨어 개발 플랫폼이다.
Git은 분산형 버전관리 시스템(Distributed Version Control System)이다. 기존 버전 관리 시스템(VCS)은 중앙 서버에 소스코드와 history를 직접 저장하는 방식이다. 그에 반해 분산 버전 관리 시스템은 여러 개발 PC와 저장소에 분산해서 저장하는 방식이다.
분산형 버전관리(Git)는 모든 작업자가 원본을 가질 수 있다. 개별 history를 관리할 수 있기 때문에 네트워크를 사용하지 못하는 상황에서도 대부분 작업 진행이 가능하다.
패키지 및 코딩 컨벤션 지키기
SRP (Single Responsibility Principle) 개념
단일 책임 원칙
Git 설치 방법
설정
■ 사용자 정보 설정하기 (재설정할 때도 동일)
$ git config --list // <-- 초기에 입력해야 할 또는 이미 등록된 유저 정보 확인
$ git config user.name // 등록되어 있는 이름만 확인
$ git config user.email // 등록되어 있는 이메일만 확인
$ git config --global user.name "이름" // <-- 원격저장소에 등록된 이름과 이메일을 입력
$ git config --global user.email aaa@gmail.com // <-- 틀리면 연결이 잘 안 될 수도 있다.
■ 원격저장소에 올리기 전에 gitignore 설정하기
서로 환경설정이 다를 수 있으므로 충돌을 미연에 방지하기 위함이다.
google에 gitignore 검색하기 > 무시할 것들 입력하고 생성 누르기 > 코드 복사하기 > 업로드할 폴더 안에 gitignore 메모장 만들고 내용을 붙여넣은 다음 메모장 이름 바꾸기 > 앞에 . 추가하고 뒤에 확장자명 삭제
■ 원격저장소와 연결하기
① git init : 저장소 생성
② git add : Staging Area로 옮길 파일 선택
③ git commit -m : 커밋해서 Repository(HEAD)로 이동
④ git branch : 브랜치 설정
⑤ git remote add origin : 원격 저장소와 연결
⑥ git push : 원격저장소(Remote)에 업로드
■ 연결된 github 삭제
자격 증명 관리자 > Windows 자격 증명 > 일반 자격 증명에서 계정 제거
git 명령어 (띄워쓰기와 오타에 주의!)
■ git init
$ git init
저장소 생성하는 명령어이다. get init 명령어를 수행하면 숨겨진 폴더 .git이 생성된다. .git이라는 가상의 파일에 히스토리가 저장되고 있으므로 해당 파일을 삭제하면 작업 과정이 사라진다. 보기 창에서 숨긴 항목에 체크해야 .git 파일이 보인다!!
■ git status
$ git status
깃이 폴더의 현재 변경 상태를 보는 명령어. (감시하고 있는 폴더 상태를 본다고 생각하면 된다.)
■ git add
$ git add . <-- 해당 폴더에서 추적하지 않은 파일 전체 추가
$ git add 경로/파일명.확장자 <-- 특정 파일만 추가
■ git commit
$ git commit -m'커밋할 제목'
깃이 폴더의 변경 내용을 저장하는 단위를 커밋(commit)이라고 부른다. add 명령어 이후 Staging Area 상태에 등록된 파일만 commit을 할 수 있고 명령어 실행 후에 Repository에 저장된다. 옵션 -m을 사용한다.
■ git log
$ git log <--로그 전체 확인
$ git log --oneline <--로그를 한 줄로 간단하게 확인
스테이징을 거쳐 커밋 한 결과를 로그(log)라는 형식으로 확인한다.
■ git checkout
$ git checkout ^ // <-- ^ 를 입력한 만큼 뒤로 간다.
원하는 commit 시점으로 이동할 수 있다. (+ 원하는 브랜치로 이동도 가능)
■ git push
$ git push
파일을 새로 생성 또는 작업 후 add, commit을 마치고 원격 저장소로 작업물을 공개할 수 있다.
빈 패키지는 git에 올라가지 않는다.
■ git clone
$ git clone 주소
원격 저장소에서 로컬 저장소로 복사본 받을 수 있다.
Git에서는 ctrl + Insert로 붙여 넣기할 수 있다.
■ git pull
$ git pull
원격 저장소에서 로컬 저장소로 최신 커밋을 받아올 수 있다.
commit 후에 pull 했을 때 충돌
i 누르고 위 노란 문구 지운다음 최근 커밋 이름을 적고 esc
그리고 :wq 입력
나간다는 의미이다.
Git 동작 원리
반드시 기억해야 할 3가지 상태 - 논리적인 구분