Local에서 Git을 사용하여 Version control을 합니다.
여기서 Local이라 함은 노트북(PC)이나 서버(저는 peace라고 하는 server를 사용했습니다.)
이때 서버가 아닌 노트북(PC)에서 사용하게 될 경우, git을 설치 해주어야하는데
윈도우의 경우
https://git-scm.com/
맥OS의 경우
터미널에서
설치가 되어 있지 않은 경우에 - "brew install git"
이미 설치가 되어 있다면 - "brew upgrade git"
- 설치가 되어있는지 확인하고 싶다면 "git"을 입력하고 enter! 만약 설치가 되어 있다면 설명이 나올 것입니다.
저는 서버를 사용했고 제가 사용한 서버는 이미 git이 설치가 되어있기 때문에 따로 설치과정을 보여주지 않았습니다.
** 참고: 터미널에 "git help tutorial" 입력
remote: 원격 저장소 주소 등록합니다
- git remote add origin https://(주소)
- origin이라는 이름으로 원격 저장소 주소를 등록합니다. (굳이 origin이라고 하지 않아도 됩니다.)
- git remote remove origin
- 원격 저장소 origin을 지울 때 사용
clone: 다른 곳에 있는 저장소를 복제해 새 디렉토리로 가져옵니다.
- 로컬 저장소
- git clone /로컬/저장소/경로
- 원격 서버의 저장소
- git clone 사용자명@호스트:/원격/저장소/경로
init: 새로운 깃 저장소를 만들거나 기존 저장소를 다시 초기화합니다.
- git init
** 참고: 터미널에 "git help everyday" 입력
add: 파일 내용을 인덱스에 추가합니다.
- git add (file)
- 해당 file만 add
- git add *
- 전체 file add
mv: 파일, 디렉토리, 심볼릭 링크를 옮기거나 이름을 바꿉니다.
- git mv (원본이름) (변경할이름)
- git status해보면 hello.txt가 hi.txt 바뀐 것을 확인할 수 있다.
revert: 현재 HEAD를 특정 시점의 commit 상태로 변경하는 commit을 추가로 수행합니다.
- git revert HEAD
- Revert "ver 3"에는 ver 2의 내용이 들어있음 => ver3가 완전히 없어지는 것이 아니라 없었던 것처럼 처리
- git reset (file)
- staged된 것을 unstaged되도록
- git status해보면 unstaged된 것을 확인할 수 있다.
- git reset (7자리_코드)
- commit을 제거함
- git rm (file)
- 해당 file이 삭제됩니다.
** 참고: 터미널에 "git help revisions" 입력
log: 커밋 기록을 표시합니다.
- git log
- git log --oneline
- git diff에서 committed1,2끼리 비교할 때 7자리 코드를 알려줍니다.
- git log --pretty=oneline
- commit 내용을 한 줄로 표시
- git log --graph
- branch와 merge한 내역을 시각화 하여 보여줍니다.
- git log -p -1
- 각 commit의 diff결과를 줄 단위로 보여줍니다.
status: 작업 폴더 상태를 표시합니다.
- git status
- git status -s
- git status를 short, 짧게 나타낸 것
show: 여러가지 종류의 오브젝트를 표시합니다.
- git show
- 가장 최근에 commit된 정보를 보여줍니다.
commit: 바뀐 사항을 저장소에 기록합니다.
- git commit -m "message"
- message도 함께 commit
merge: 여러 개의 개발 내역을 하나로 합칩니다.
- git merge <브랜치 이름>
checkout: 브랜치를 전환하거나 작업 파일을 복구합니다.
- git checkout (file)
- 로컬의 변경 내용을 되돌릴수 있습니다.
- git checkout -b <브랜치 이름>
- <브랜치 이름> 브랜치를 만들고 갈아탑니다.
- git checkout master
- master 브랜치로 돌아옵니다.
branch: 브랜치를 만들거나, 삭제하거나, 목록을 출력합니다.
- 저장소를 새로 만들면 기본으로 master 브랜치가 만들어집니다.
- git branch -d <브랜치 이름>
- <브랜치 이름> 브랜치를 삭제합니다.
diff: 커밋과 커밋 사이, 커밋과 작업 내용 사이 들의 바뀐 점을 봅니다.
- git diff
- working directory와 staging area 사이의 바뀐 점
- git diff --staged
- staging area와 committed 사이의 바뀐 점
- git diff <7자리코드> <7자리코드>
- committed1과 committed2 사이의 바뀐 점
tag: 태그를 만들거나, 표시하거나, 삭제하거나, GPG 서명을 검증합니다.
- git tag 1.0.0 1b2e1d63ff
** 참고: 터미널에 "git help workflows" 입력
fetch: 다른 저장소에서 오브젝트와 래퍼런스를 다운로드합니다.
- git fetch origin
pull: 다른 저장소 또는 다른 로컬 브랜치에서 가져오거나 통합합니다.
- git pull origin master
push: 원격 레퍼런스 및 그와 관련된 오브젝트를 업데이트합니다.
- git push origin <브랜치 이름>
- 보통 git push origin master
- git rebase -i --root
에서 바꾸고 싶은 commit message 앞 pick을 reword로 바꿔줍니다. 저장하고 나가면 commit message를 수정할 수 있는데 수정완료되면 저장하고 나가기
확인하기: