2020. 8. 22. 01:46ㆍ웹 프로그래밍/기타
Git 이란?
Git은 매우 빠른 속도와 분산형 저장소 지원이 특징인 버전 관리 시스템
병합(merge)에서 문제가 덜 발생한다. 서버의 자료를 가져와(fetch) 로컬에서 병합하고 이를 다시 올리는 형태이기 때문. 물론 아예 문제가 발생하지 않을 수는 없으나, 이러한 구조 덕분에 예기치 못하게 발생하는 병합 문제 발생 빈도가 낮아진다.
Git 설치 및 설정
아래 경로에서 Git 설치
커맨드 프롬프트에서
설치 후 버전 확인
git version
깃 설정
git config --global user.name "유저 이름"
git config --global user.email "유저 이메일"
설정 후 확인
git config --list
저장소 초기화
git init
저장소 복제
git clone "저장소 URL"
위에내용 2021.8.13 이후 사용 불가능. 아래처럼 오류가 뜸
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
깃허브 사이트에서 person access token 발급후 아래처럼 복제
git clone https://[⚠️person access token]@github.com/[⚠️owner]/[⚠️repo-name]
example)
git clone https://ghp_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX@github.com/edst99/edst
마지막 200개의 커밋만 포함하여 저장소 복제
git clone --depth 200 "저장소 URL"
새로운 원격 저장소 추가하기
git remote add "원격 저장소" "저장소 URL"
※ 커맨트 프롬프트에서 원하는 디렉토리를 생성/이동 후, 깃 설정 후 저장소 복제를 하자.
Atom을 쓴다면 해당 폴더를 File - Add Project Folder 로 선택하면 git 연동이 된다.
Git 기본 명령어
작업 완료 후 푸시 하기
git add .
git commit -m "메시지"
git push "(origin master)"
현재 git 상태 보기
git status
origin 저장소에서 합치지 않고 지역 브랜치로 변경 사항 가져오기
git fetch
원격 저장소에서 합치지 않고 지역 브랜치로 변경 사항 가져오기
git fetch "브랜치"
다른 작업 풀받기
git pull
origin 저장소에서 변경 사항을 가져와 현재 브랜치에 합치기
git pull origin master
특정 commit 상태로 되돌리기
git reset commit_number --hard
지역 브랜치 보기
git branch
커밋하지 않고 합치기
git merge --no-commit "브랜치"
브랜치 삭제법
git branch -d 브랜치명
merge를 이용한 브랜치 병합법 (마스터에서 branch작업한 내용 받아오기)
git checkout master (기준)
git merge branchName (받을 브랜치)
rebase를 이용한 브랜치 병합법 (브랜치에서 작업도중, master 최신버전 받아오기)
[my-branch] git stash //브랜치에서 작업중인 내용 임시 저장후, 마지막 commit 상태로 돌아가기
git checkout master
[master] git pull
git checkout my-branch
[my-branch] git rebase origin/master //현재 브랜치에 master 내용 가져오기
git push ( 내 작업 가져오기 전에 푸쉬해주는 게 좋다)
git stash pop //처음에 임시저장했던 내용 다시 불러오기
깃헙 최근 1개 커밋 삭제
git reset HEAD^~1
git push -f origin [브랜치 명]
원격저장소 삭제
git remote remove origin