javaboiii의 Git

Git - 기초2

javaboiii 2024. 10. 30. 09:19

GIT

복습
Git과 Git-Hub
Git 분산형 버전관리 시스템
커멘드라인 도구로 git 모든 기능을 사용할 수 있으며
GUI 클라이언트 제공되고 있음

GitHub Git기반 웹 호스팅 플랫폼
git 레포지토리 호스팅하고 웹 인터페이스를 통해 프로젝트를 관리하고 협업할 수 있게함

=> Git은 소스코드의 버전관리를 위한 분산형 버전관리 시스템
GitHub는 Git 레포지토리를 호스팅하고 협업을 지원하는 웹 플랫폼

Git 구조
3가지 영역으로 나뉘며 각 영역에 순차적으로 파일을 올려줘야함

1) Working Directory(작업폴더, 깃 저장소)
설정하게 되면 해당 폴더에 .git 폴더가 생성됨
- 파일의 상태
git의 관리대상이 아님
관리대상이 아닌 파일을 untracked 상태

2) Staging Area(스테이징 영역)
git의 관리 대상임
- 파일의 상태
관리 대상 파일 tracked(추적)상태
unmodifyed : 수정이 되지 않은 상태
modifyed : 스테이징 영역에 들어온 파일 중 수정된 상태
staged : 로컬 저장소에 올릴 준비가 완료된 상태

3) Local Repository(로컬 저장소)
스테이징 영역에서 staged 상태의 파일을 commit하면 로컬저장소에 저장됨


Git 명령어
git config --global user.name "git-hub 이름"
git config --global user.email "이메일 주소"

git config --list 설정내용 확인
git init 현재 폴더 내 .git 숨김파일 생성
현재 위치의 폴더를 working directory(깃 저장소)로 만듬

git status 깃 저장소에 있는 파일들의 상태 확인

git add 파일명 작업폴더의 파일을 스테이징 시킴
수정된 파일은 staged 상태로 만들기 위해 사용함

git rm --cached 파일명 add로 스테이징 시킨 파일을 스테이징 영역에서 내보낸다

git commit -m "메세지 스테이징 영역의 파일들의 변경사항을 확정짓고 새로운 버전을 로컬 저장소에 저장함

git commit --amend 방금전 커밋한 메세지를 수정하는 명령어(vim 편집기)
일반모드 ->기본상태
i or a 편집모드로 변경
esc + : 명령모드로 변경
명령모드 -> esc : w q
입력모드 -> 수정 내용을 작성할 수 있음(하단에 INSERT)
i, a, o ...

git branch 현재 로컬의 브런치를 확인(git-hub 브런치 main)
git branch -m master main 현재 로컬의 브런치가 master인 경우 main으로 변경
git branch -D 브런치 삭제

git remote add 원격저장소이름(origin) 주소(git-hub ulr 복붙)
원격 저장소를 로컬과 연결하는 명령어
git remote -v
원격 저장소와 로컬저장소가 연결이 잘 되었는지 확인

Git 시점 되될리기
git은 commit한 시점으로 돌아갈 수 있음

git log
git에 저장된 commit기록을 볼 수 있음
가장 최근 commit부터 상단에 출력됨
출력결과의 commit뒤에 붙은 16진수 해시코드는 해당 commit id 또는 체크섬이라고 부름

author : 수정자
date : 수정 일자

git log --pretty=oneline
커밋 기록을 출력할 때 옵션을 주면 한줄로 확인 가능햣
(체크섬, 커밋메세지 등)

git checkout 체크섬 or 브랜티 이름 or -
원하는 시점으로 이동하는 명령어임
log를 통해 확인한 체크섬을 복붙하거나 앞 7자리만 입력하면 해당 시점으로 이동함
체크섬 대신 -를 입력하면 가장 최근 커밋으로 돌아감

브랜치(branch)
한 개의 저장소를 여러 갈래로 나누어 관리할 수 있게 해주는 개념
브랜치끼리는 서로 영향을 받지 않기 때문에 개별적인 작업을 진행할 수 있음
Git은 기본적으로 master 브랜치를 메인으로 사용함



로컬 저장소에 커밋한 파일들을 원격저장소로 올릴 때 발생하는 에러

[에러내용] remote: Permission to korea-itsun/testProject.git denied to dev-tedhan.
fatal: unable to access 'https://github.com/korea-itsun/testProject.git/': The requested URL returned error: 403
[발생이유] 다른 git과 자격증명이 겹칠 때 찾지 못해서 발생한다
[해결방안] 자격 증명 관리자에 있는 git-hub 관련 내용 삭제하기

git clone 원격저장소주소 저장할 경로
원격 저장소에 있는 파일들을 복사하여 로컬 저장소로 가져오는 명령어
다른 사람이 서버에 올려놓는 git 저장소를 내 컴퓨터에 똑같이 복사해오는 용도로 사용함
보톤 처음 세팅을 할 때 사용
※ 주의사항 : 클론을 할 때는 git init을 하지 않음
git init은 내 로컬에서 .git폴더를 만들고 처음부터 관리하는 것이고
클론은 다른사람이 관리하던 log 내용을 전부 복제해오는 것임

'javaboiii의 Git' 카테고리의 다른 글

Git - 기초1  (0) 2024.10.29