Git,Github

Git, Github 정리

simDev1234 2022. 9. 27. 21:51

|  버전관리 시스템 이란?

- VCS (version control system) 또는 SCM (Source Code Management) 이라고 한다.

- 과거에는 프로젝트를 압축파일을 통해 관리했으나, 현재는 소스 버전관리 시스템을 사용해 관리한다.

- 다양한 버전 관리 시스템 :

  CVS, SVN(Subversion), git, SourceSafe(MS), TFS

- 다양한 버전 관리 툴 :

  github, bitbucket, gitlab 

 

|  Git 설치 및 GitHub 가입하기

1. git 설치 :  https://git-scm.com/ 에서 Git 설치를 한다. (Mac이나 리눅스는 홈브루 등을 사용)

// 설치 확인하기
git --version

2. github 가입 : https://github.com/ 에서 가입을 한 후, repository를 하나 만들어 준다.

 

|  환경 설정

1. 사용자 설정 및 세팅

// 사용자 설정
// - local : 현재 저장소, global : 한 사용자 전체, system : 모든 사용자 대상
git config --global user.email "you@gmail.com"
git config --global user.name "someone"

// 설정 확인
git config --list

2. SSH 인증키 만들기

https://bit.ly/368zxvR 에서 가이드에 따라 인증키를 만든다. (CMD 쉘을 사용해서 명령어 작성)

// 최상위 경로에서 .ssh로 이동
cd ~/.ssh

// 목록 확인
ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

// .pub 없으면 ssh-keygen으로 key 생성
ssh-keygen -t rsa -C "[본인의 github 이메일 계정 주소]"

// id_rsa 디렉토리에 id_rsa.pub이 만들어진다.
// 비번입력

// (github settings에서 id_rsa.pub 내용을 ssh key 등록)

// pc에서 확인
ssh -T git@github.com

 

|  작업 플로우

1. 로컬 저장소 <-> 원격 저장소 연결 

 

방법1. 원격 저장소를 로컬로 Clone

git clone [git 저장소 url]

 

방법2. 로컬 저장소에 원격 저장소를 추가

git remote add origin [원격저장소 ssh 주소]

 

2. 깃 생성하기 & gitignore 만들기

git init

 

gitignore 파일 만들기

https://www.toptal.com/developers/gitignore/ 에서 옵션을 달고 gitignore 를 만들어준다.

 

3. staging 영역에 추가

// 현재 목록의 업데이트 파일
git add .

// 수정된 파일 전부
git add *
git add -A

// 추가되지 않은 파일 모두 한번에 올리기
git add -i

// rf. 스테이징에서 파일 내리기
git rm --cached [파일경로]

 

4. 상태 확인

git status

 

5. local repository에 commit

git commit -m "feat : 메세지내용~~"

 

6. remote repository에 push

* 이 과정에서 만약 remote repository가 private이면, 로그인을 하도록 한다.

// 브랜치 생성or체크아웃
// git을 처음 생성하면 master로 브랜치가 되어 있음
git branch -M main

// 원격으로 push *가끔 -v 없으면 push가 안된다.
git push -v origin main

// rf. 원격에서 pull (fetch + merge)
git pull

 

|  로그 확인하기

git log --decorate --graph

 

 

[ 참고 및 출처 ]

- 부트캠프 강의

- https://maliceit.tistory.com/51

https://wordbe.tistory.com/entry/Git-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95-%EC%A0%95%EB%A6%ACcommit-push-pull-request-merge-%EB%93%B1