본문 바로가기

개발일지

깃허브 협업

Git 명령어 모음

[기본 명령어]

설정(Setup)

  • git init : 저장소(repository) 생성
  • git clone [원격저장소 url] : 해당 원격저장소의 내용을 복제하여 로컬저장소 생성
  • git config user.name “[Github 닉네임]” : 작성자 이름 설정
  • git config user.email “[Github 이메일 계정]” : 작성자 이메일 설정
  • git config --list : 저장소에 설정된 기본 설정 전체 출력
  • git config --get [설정 항목] : 일부 설정된 항목만 출력(git config --get user.name 등)
  • git help [커맨드 이름] : 도움말

Stage와 commit

  • git add [파일 이름] : 수정된 파일을 staging area 올리기
  • git add [디렉토리 이름] : 해당 디렉토리 내에 수정된 모든 파일을 스테이징
  • git add . : working directory 내에 수정된 모든 파일을 스테이징(untracked 파일 제외)
  • git commit : 이력 저장, 커밋(commit)
  • git commit -m “[메시지]” : 메시지 편집기를 사용하지
  • git commit -am “[메시지]” : 스테이징(add)과 커밋을 일괄 진행

상태관리(Inspect)

git status

  • git status : 저장소의 커밋 이력을 출력
  • git status -s : 파일 상태 정보를 간략하게 표시

git log

  • git log : 저장소의 커밋 이력을 출력
  • git log --pretty=oneline : 커밋을 한줄로 출력(pretty 옵션 사용)
  • git log --oneline : 각 commit을 한 줄로 출력
  • git log --decorate=full : 브렌치나 태그 정보를 상세히 출력
  • git log --graph : 그래프 형태로 출력

git show

  • git show : 가장 최근 커밋 정보를 출력
  • git show [커밋 해시] : 해당 커밋의 정보 출력
  • git show HEAD : HEAD가 참조하는 커밋의 정보 출력
  • git show HEAD^^^ : HEAD를 기준으로 3단계 이전의 커밋 정보 출력
  • git show HEAD~[n] : HEAD를 기준으로 n단계 이전의 커밋 정보 출력

git diff

  • git diff : 최근 커밋과 변경 사항이 발생한(Unstaged) 파일들의 내용 비교
  • git diff --staged : 최근 커밋과 Staging area의 파일 간의 변경 사항 출력
  • git diff [커밋 해시(1)][커밋 해시(2)] : 두 커밋 간 파일의 변경 사항 출력

[커밋 조작]

Checkout

  • git checkout [커밋 해시] : 해당 커밋으로 HEAD의 참조를 변경(Working directory의 내용을 변경)
  • git checkout - : HEAD의 참조를 직전에 참조했던 커밋으로 변경
  • git checkout master : HEAD가 master를 참조
  • git checkout HEAD~n : 현재 HEAD의 참조를 기준으로 n단계 이전 커밋으로 첨조를 변경

Undoing changes

  • git reset : Staging area의 파일 전체를 unstaged 상태로 되돌리기
  • git reset [파일 이름] : 해당 파일을 unstaged 상태로 되돌리기
  • git commit --amend : 최근 커밋을 수정하기
  • git commit --amend -m “[커밋 메시지]” : 해당 메시지로 커밋 수정하기
  • git reset [커밋 해시] : 해당 커밋으로 브랜치의 참조를 변경
  • git reset --hard [커밋 해시] : working directory, staging area, 커밋 모두 되돌리기
  • git reset --soft [커밋 해시] : working director와 staging area는 유지, 커밋은 되돌리기
  • git reset HEAD^ : HEAD를 기준으로 직전의 커밋으로 브랜치의 참조 변경
  • git reset HEAD~[정수] : HEAD를 기준으로 정수값 단계 전 커밋으로 브랜치의 참조 변경

[브랜치]

Setup

  • git branch : 브랜치 목록 표시
  • git branch [브랜치 이름] : 해당 브랜치 이름으로 브랜치 생성
  • git checkout [브랜치 이름] : 브랜치 생성과 동시에 전환
  • git checkout -b [브랜치 이름] : 브랜치 생성과 동시에 전황
  • git branch -m [브랜치 이름][새로운 브랜치 이름] : 브랜치 이름 변경
  • git branch -d [브랜치 이름] : 해당 브랜치 삭제

Merge, rewrite

Merge

  • git merge [브랜치 이름] : 현 브랜치에 해당 브랜치의 내용 병합
  • git merge --ff [브랜치 이름] : fast-forward 관계에 있으면 commit을 생성하지 않고 현재 브랜치의 참조 값만 변경(default)
  • git merge --no--ff [브랜치 이름] : fast-forward 관계에 있어도 머지 커밋(merge commit) 생성
  • git merge --squash [브랜치 이름] : fast-forward 관계에 있어도 머지 커밋 생성, 브랜치 정보 생략
  • git rebase --abort : rebase 취소

rebase

  • git rebase [브랜치 이름] : 현재 브랜치가 해당 브랜치(브랜치 이름)에서 부터 분기하도록 재배치
  • git rebase --continue : 충돌 수정 후 재배치 진행
  • git rebase --abort : rebase 취소

cherry-pick

  • git cherry-pick [커밋 해시] : 해당 커밋의 내용을 현재 브랜치에 추가, 뒤에 커밋 해시를 연속 입력하면 복수로 추가 가능
  • git cherry-pick [시작 지점의 커밋 해시][끝 지점의 커밋 해시] : 해당 구간의 커밋을 한번에 추가
  • git cherry-pick --abort : 충돌이 발생했을 때 cherry-pick 취소
  • git cherry-pick --continue : 충돌 해결 후 cherry-pick 진행

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

팀 프로젝트에서 main에다 바로 push 할 수 없기 때문에

brunch 을 새로 개설해서 cmd를 이용해 올려줬다.

 

 

PS C:\Users\sunli\Desktop\VisualCode\Everytime_project\react-grade\react-grade> git init 
PS C:\Users\sunli\Desktop\VisualCode\Everytime_project\react-grade\react-grade> git add .
PS C:\Users\sunli\Desktop\VisualCode\Everytime_project\react-grade\react-grade> git commit -m " 학점관리 "        
PS C:\Users\sunli\Desktop\VisualCode\Everytime_project\react-grade\react-grade> git remote add origin https://github.com/CHOI-JUNWON99/Grade-app.git
PS C:\Users\sunli\Desktop\VisualCode\Everytime_project\react-grade\react-grade> git remote -v
origin  https://github.com/CHOI-JUNWON99/Grade-app.git (fetch)
origin  https://github.com/CHOI-JUNWON99/Grade-app.git (push)
PS C:\Users\sunli\Desktop\VisualCode\Everytime_project\react-grade\react-grade> git push --set-upstream origin master

 

 

git add .

git commit -m ""

git push

 

 

 

 

 

----------------

firebase 배포

 

npm run build
firebase deploy

 

 

npm init -y    -package.json 파일 생성