| 버전관리 시스템 이란?
- 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
'Git,Github' 카테고리의 다른 글
인텔리j에 깃허브 프로젝트 가져오기 (0) | 2022.09.30 |
---|---|
[Git/Github] fail to push to ~~ 해결하기 (0) | 2022.09.29 |
[Git/Github] 소스트리에서 클론이 안 될 때 - .ppk 인증키 등록 (0) | 2022.09.23 |
[Git/Github] 소스트리로 클론하기 (0) | 2022.09.23 |
[Git/Github] 저장소(Repository) (0) | 2022.09.23 |