//# 디렉토리 생성
mkdir ~/Desktop/codestates
//# 디렉토리 이동
cd ~/Desktop/codestates
//#디렉토리 생성
mkdir my-app
//#디렉토리 이동
cd my-app
//#파일 생성
touch index.index.html style.css
//파일 확인하기
ls
git init
Staging area : commit 하기 전에 내용을 기록하는 장소
commit : staging에 코드 묶음을 저장하기 위해(git commit) staging area 모드의 용도를 적어두는 것(커밋 메세지-m “commit message”
)
- git add <경로명> : 내 로컬의 untracked filedmf git의 관리 하인 staging area로 추가한다.
- git add : staging area에 모든 파일을 한번에 추가한다.
git add index.html
git add style.css
//또는
git add . //띄여쓰기 + 온점(.)
변경 사항이 staging area로 잘 옮겨졌다면 파일명이 초록색으로 표시된다.
staging area 올리기 취소는
git rm --cached 파일명(style.css)
git status
**git status**
로 상태 확인하기**“”
내부에 라벨링(설명)과 함께 commit!**
git commit -m "<commit Message>"
//ex) git commit -m "나만의 아고라스테이츠 html, css 완성"
reset
git reset —option 돌아갈커밋
git reset HEAD^
git reset HEAD~2
**--hard 옵션
: 돌아간 커밋 이후의 변경 이력 모두 삭제** git commit -m "1"
git commit -m "2"
git commit -m "3"
git reset --hard [1번commit hash]
git push
//2, 3번 커밋 반영 내용은 모두 사라진다.
—soft
옵션 : 변경이력은 모두 삭제되지만 변경이력은 남아있다.(모두 stage 된 상태로) git commit -m "1"
git commit -m "2"
git commit -m "3"
git reset --soft [1번commit hash]
git commit -m "~"
git push
//add 명령어 없이 바로 커밋 진행 가능
revert
git commit -m "1번 커밋"
git commit -m "2번 커밋"
git commit -m "3번 커밋"
//1개의 커밋 되돌리기
git revert [1번commit hash]
//결과: 1번 커밋에 해당하는 내용만 삭제
//여러개의 커밋 되돌리기
git revert [커밋해쉬]..[커밋해쉬]
—-amend
git commit --amend
💡 **reset, revert 차이**
둘다 이전 커밋으로 되돌린다는 점에서는 동일하나 → github 같은 온라인 저장소에 올라가 다른 사람간 코드 공유의 유(revert)무(reset)에 따라서 달라진다.
git remote
**git remote add** origin 레포지토리링크
**git remote -v**
remote -v
//결과
//origin git@github.com:haizellatte/my-first-github-repository.git (fetch)
//origin git@github.com:haizellatte/my-first-github-repository.git (push)
git push
//1.origin의 main 브랜치로 지정하기
git branch -M main
//2. origin의 main 브랜치로 push 하기
git push origin main
//결과
오브젝트 나열하는 중: 3, 완료.
오브젝트 개수 세는 중: 100% (3/3), 완료.
Delta compression using up to 12 threads
오브젝트 압축하는 중: 100% (2/2), 완료.
오브젝트 쓰는 중: 100% (3/3), 230 bytes | 230.00 KiB/s, 완료.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:haizellatte/my-first-github-repository.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
git log
git clone 리포지토리주소
하여 따로 개발하기shell command install 'code' command in path