Git이란
Version Control System
프로그램의 버전 관리를 위한 툴
CLI vs GUI
Git에서 뭔가를 실행하기 위한 어떤 명령어들을 사용할 때 CLI 사용
프로젝트의 상태를 Git상에서 자세히 살펴보아야 할 때 GUI 사용
Git 최초 설정
git config --global user.name "J3SUNG"
git config --global user.email "wptjd6141@naver.com"
설정 확인
git config --list
git config --global user.name
git config --global user.email
기본 브랜치명 변경
git config --global init.defaultBranch main
git init
.git 폴더가 생성, 해당 폴더에서 git 관리내역을 포함하고 있음
git status
현재 폴더에서 폴더의 상황을 git의 관점으로 보여줌
.gitignore
git 관리에 포함시키지 않을 파일들 관리
file.c // 모든 file.c
/file.c // 최상위 폴더의 file.c
*.c // 모든 .c 확장자 파일
!test.c // .c확장자지만 무시하지 않을 파일
logs // logs란 이름의 파일 또는 폴더와 그 내용들
logs/ // logs란 이름의 폴더와 그 내용들
logs/*.c // logs 폴더 바로 안의 .c 파일들
logs/**/*.c // logs 폴더 내에 모든 .c 파일들
git commit
파일 및 폴더의 추가/변경 사항을 저장소에 기록
git log
커밋 된 스냅 샷을 표시하는 명령
커밋 된 변경 내용 목록에 대한 필터링 특정 변경 사항 검색 가능
git reset
git reset --hard (돌아갈 커밋 해시)
이전 시점으로 돌아가고 이후 행적은 히스토리에서 제거
git revert
git revert (되돌릴 커밋 해시)
이전 시점을 다음 행적으로 등록
git revert --no-commit (되돌릴 커밋 해시)
이전 시점을 현재 시점으로 변경
Branch : 분기된 가지 (다른 차원)
프로젝트를 하나 이상의 모습으로 관리해야 할 때
여러 작업들이 각각 독립되어 진행될 때
git branch (브런치 이름)
branch 추가하기
git branch
branch 목록 보기
git switch (브런치 이름)
branch 이동
git switch -c (브런치 이름)
branch 생성 후 이동
git branch -d (브런치 이름)
branch 삭제
git branch -D (브런치 이름)
branch 강제 삭제
git push (origin) --delete (브런치 이름)
원격 저장소의 branch 제거
git branch -m (브런치 이름) (바꿀 이름)
branch 이름 변경
git merge
두개의 다른 branch를 합쳐서 하나의 branch로 만듦
합쳐진 branch가 남아 있음
git rebase
합치는 branch를 뒤에 이어붙여서 하나의 branch로 만듦
합쳐진 branch가 남아 있지 않음
git merge (브런치 A)
현재 브런치에 브런치 A를 합침
git rebase (브런치 A)
브런치 A에 현재 브런치를 합침
git merge --abort
merge 충돌 해결 문제 중단
git rebase --abort
rebase 충돌 해결 문제 중단
git rebase --continue
rebase 충돌 해결 후 진행
GitHub, GitLab, Bitbucket
코드 공유 및 협업 서비스
git remote add origin (원격 저장소 주소)
로컬의 Git 저장소에 원격 저장소로의 연결 추가
git remote
이 프로젝트와 연결된 목록을 볼 수 있음
git remote -v
이 프로젝트와 연결된 목록을 자세하게 볼 수 있음
git branch -M main
기본 브랜치명을 main으로 변경
git clone (원격 저장소 주소)
원격 저장소에 있는 내용들을 현재 경로로 다운로드
git push -u origin main
로컬 저장소의 커밋 내역들 원격으로 push
git push --force
로컬 저장소의 커밋 내역을 원격으로 강제 push
git pull
원격 저장소의 커밋 내역을 로컬 저장소로 가져오는 작업
git pull --no-rebase
원격 저장소의 커밋을 가져올 때 merge 방식으로 실행
git pull --rebase
원격 저장소의 커밋을 가져올 때 rebase 방식으로 실행
git fetch
원격 저장소에서 최신 메타데이터 정보를 받음
'GIT' 카테고리의 다른 글
[GitKraken] Merge, Conflict, Pull (0) | 2020.04.02 |
---|---|
[GitKraken] Chekcout, Branch (0) | 2020.04.02 |
[GitKraken] Add, Fetch, Pull, Commit, Push (0) | 2020.04.02 |
[GitKraken] GitKraken Clone, Open a Repository (0) | 2020.04.02 |
[GitKraken] GitKraken 설치, 새로운 저장소 생성 (0) | 2020.04.02 |