Git

2020. 8. 22. 01:46웹 프로그래밍/기타

Git 이란?

Git은 매우 빠른 속도와 분산형 저장소 지원이 특징인 버전 관리 시스템

병합(merge)에서 문제가 덜 발생한다. 서버의 자료를 가져와(fetch) 로컬에서 병합하고 이를 다시 올리는 형태이기 때문. 물론 아예 문제가 발생하지 않을 수는 없으나, 이러한 구조 덕분에 예기치 못하게 발생하는 병합 문제 발생 빈도가 낮아진다.

Git 설치 및 설정

아래 경로에서 Git 설치

https://git-scm.com/downloads

 

Git - Downloads

Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific

git-scm.com

커맨드 프롬프트에서

설치 후 버전 확인

git version

git version 내용이 뜨면 잘 설치된 상태

 

저장소 URL은 깃허브에서 Code를 누르면 나오는 URL

깃 설정

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
728x90

'웹 프로그래밍 > 기타' 카테고리의 다른 글

svelte  (0) 2022.04.22
ngrok  (0) 2021.09.07
부트스트랩  (0) 2021.07.31
리액트 앵귤러 뷰  (0) 2021.07.31
Docker  (0) 2020.08.22