Mac 사용자의 기준에서 작성되었음
Git
깃은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.
1. Git 설치/삭제/업데이트
홈브루를 통해 깃과 VScode를 설치한다.
homebrew 설치
/bin/bash -c "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)")
brew경로 환경변수에 추가
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >/Users/PC계정명/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)”
brew cask 설치
brew install cask
brew로 VScode 설치 (선택사항)
brew install --cask visual-studio-code
homebrew 삭제
ruby -e "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"](https://raw.githubusercontent.com/Homebrew/install/master/uninstall)")
homebrew 디렉토리 삭제
rm -rf homebrew
homebrew 업데이트
brew update
2. Github 연동 및 세팅
깃허브 계정을 연동하고 각족 설정 값을 확인 할 수 있다.
git 버전 확인
git —v
GitHub 유저 설정
git config --global user.email "Github가입 이메일”
git config --global user.name "Github계정명"
유저 설정 확인
git config —-list
기본 브런치 값 확인
git config —global init.defaultBranch
기본 브런치 값 main으로 설정
git config —global init.defaultBranch main
깃 설정 확인
git config -l
3. Git 커밋(Push/Pull/Clone)
깃허브에 최초로 커밋 할 때 아래의 순서대로 진행하면 된다.
깃 초기화 (프로젝트 처음에만 할 것)
git init
모든 파일 선택 (두번 째 커밋 부터는 모든 변경 된 파일 선택)
git add .
git add 취소하기 (파일 상태를 Unstage로 변경하기)
git reset HEAD
git restore --staged 파일명
staging 파일 확인
git status
commit
git commit -m "커밋메시지"
commit 취소하기
# [방법 1]
# commit을 취소하고 해당 파일들은 staged 상태로 워킹 디렉터리에 보존
git reset --soft HEAD^
# [방법 2]
# commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에 보존
git reset HEAD^
git reset HEAD~1 # 마지막 commit을 취소. 하나를 되돌림
git reset HEAD^^
git reset HEAD~2 # 마지막 2개의 commit을 취소
# [방법 3]
# commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에서 삭제
git reset --hard HEAD^
–soft : index 보존(add한 상태, staged 상태), 워킹 디렉터리의 파일 보존. 즉 모두 보존.
–mixed : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 보존 (기본 옵션)
–hard : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 삭제. 즉 모두 취소. 작업내용 다 사라지니까 왠만하면 사용X
commit 메시지 변경하기
git commit --amend -m "커밋메시지"
브랜치를 main으로 변경
git branch -m main
레포지토리 연결
git remote add origin https://github.com/JunTaeHahm/레포지토리이름.git
원격저장소(origin)에서 브랜치(main)로 Push(업로드)
git push -u origin main
git push 취소하기
이 명령을 사용하면 자신의 local의 내용을 remote에 강제로 덮어쓰기를 하는 것이기 때문에 주의해야 한다.
되돌아간 commit 이후의 모든 commit 정보가 사라지기 때문에 주의해야 한다.
특히, 협업 프로젝트에서는 동기화 문제가 발생할 수 있으므로 팀원과 상의 후 진행하는 것이 좋다.
# 1. 워킹 디렉터리에서 commit 되돌린다.
# 1-1. 최근의 commit을 취소하고 워킹 디렉터리를 되돌리는 법
# 가장 최근의 commit을 취소 (기본 옵션: --mixed)
git reset HEAD^
# 1-2. 원하는 시점으로 워킹 디렉터리를 되돌리는 법
# Reflog(브랜치와 HEAD가 지난 몇 달 동안에 가리켰었던 커밋) 목록 확인
git reflog #또는
git log -g
# 원하는 시점으로 워킹 디렉터리를 되돌린다.
git reset HEAD@{number} #또는
git reset [commit id]
# 2. 되돌려진 상태에서 다시 commit을 한다.
git commit -m "Write commit messages"
# 3. 원격 저장소에 강제로 push 한다.
git push origin [branch name] -f
# 또는
git push origin +[branch name]
# master branch를 원격 저장소(origin)에 강제로 push
git push origin +master
브랜치(main)에서 원격저장소(origin)로 Pull(다운로드)
git pull -u origin main
브랜치(main)에서 원격저장소(origin)로 Clone(복제)
git clone 레포지토리 주소
git lfs 설치
깃허브는 50MB 이상의 대용량 파일은 업로드가 되지 않는다. 이 때, LFS를 사용해서 대용량파일을 업로드 할 수 있다.
아래 명령어 들은 git add .
이전에 실행 한다.
git lfs intall
디렉토리 내의 대용량 파일 추적 및 모든 파일 추적
git lfs track ‘\*.mp4’ (용량 큰 파일 확장자 기입)
git lfs track \*
gitattribute 파일 선택
git add .gitattributes
모든(변경 된) 파일 선택
git add .
레포지토리에 연결되어 있는 캐시 삭제
git rm -r --cached .
4. Git Repository 관련 명령어
레포지토리가 꼬였을 때 자주 썼던 간단한 명령어다.
레포지토리 초기화
git remote rm origin
레포지토리 변경
git remote set-url origin https://github.com/JunTaeHahm/레포지토리이름.git
레포지토리 확인
git remote -v
5. Git 삭제
5-1. 파일탐색기에서 .git 폴더를 직접 삭제
프로젝트 폴더에서 숨김처리 되어있는 .git
폴더를 직접 삭제한다. 숨김파일을 보는 법은 Command + Shift + .
이다.(Mac 기준)
5-2. 터미널에서 삭제
프로젝트 폴더의 터미널에서 명령어로 삭제 할 수 있다.
해당 폴더에 있는 모든 파일 검색 (.git파일이 있어야함)
ls -a
.git 폴더 삭제
rm -r -f .git