/프로젝트폴더
로 가서
커밋 메세지
' : 깃 커밋을 한다, 커밋 메세지와 함께 repository : 말 그대로 저장소
staging area : 커밋 전 깃에 올릴 작업물을 골라놓는 곳
만약 git add를 여러 파일을 하고 싶다면
파일명
: git add 특정 파일명 취소commit id
: 커밋 id 시점과 내 소스를 비교한다.git branch branch명
: 작성한 branch명으로 branch를 생성해준다.
git switch branch명
: 작성한 branch명으로 이동한다.
git branch -v : 현재 브랜치 위치 상태를 표시한다.
git status : 현재 상태 확인
(환경에 따라 main, master 브랜치라고 불린다)
coupon branch, main branch에서 각각 커밋 후 로그를 본다.
git log --online --all --graph
: 그래프 옵션을 넣어서 그래프식으로 봄HEAD
현재 위치를 의미한다 (내 머리라고 생각하면 편하다)git checkout branch 이름
: git switch와 동일한 기능
git checkout -b branch 이름
: 브랜치 생성과 체크아웃을 동시에 한다.
git stash : 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어
ex) 내가 현재 작업중이고 커밋을 안했는데 다른 브랜치로 이동해야할때 사용
git fecth : 원격 저장소의 데이터를 로컬에 가져오기만 하기
합칠 branch명
: main branch에 coupon branch소스 코드를 병합(문제가 없다!!!!)
(충돌이 난다!!!)
Git에서 한 브랜치에서 다른 브랜치로 합치는 방법은 Merge와 Rebase이다.
Merge와 Rebase의 실행결과는 같지만 커밋 히스토리가 달라진다.
Merge는 쉽고 안전하지만 커밋 히스토리가 지저분할 수 있다.
Rebase의 base를 새롭게 설정한다는 의미로 이해하면 좋다.
git rebase [newbase]
원격 repository 주소
branch명
: 원격 repository에 소스를 올림변수명
원격 repository 주소
origin
main-u
의 -u는 저장하라는 의미이다. 따라서 원격 repository 주소
타인이 내가 만든 원격 repository에 push를 하려면 작업자로 등록을 해야한다!
원격 repository 주소
이러면 원격저장소에 있던 모든 브랜치 내용을 가져와서 로컬저장소에 합치라는 뜻이다.
이걸 해주면 로컬이 최신상태가 되기 때문에 이제 git push가 가능하다.
결론은 변동사항이 생겼다면 git pull 하고 나서 git push 하면 된다.
(참고)
master
: 해당 브랜치에서 reset으로 최신을 가리킴$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
이렇게 되어 있는 상태라고 가정을 한다.
$ git config
--local
user.name "bongbong"
$ git config--local
user.email bongbong@velog.io
git stash
명령어는 현재 작업 중인 변경 사항을 일시적으로 저장하고, 작업 디렉토리를 깨끗한 상태로 만들어줍니다. 이는 다른 브랜치로 전환해야 하거나, 급한 버그 수정을 해야 할 때 유용합니다.
git stash
명령어를 실행하면, 현재 작업 중인 변경 사항이 stash 스택에 저장됩니다. 이 stash 스택에는 여러 개의 stash를 저장할 수 있으며, 가장 최근의 stash가 가장 위에 위치하게 됩니다.
git stash pop
명령어는 stash 스택에서 가장 최근에 저장된 stash를 꺼내와서, 작업 디렉토리에 적용합니다. 이 명령어를 실행하면 stash 스택에서 해당 stash가 제거됩니다. 만약 스택에 여러 개의 stash가 있는 경우, git stash pop 명령어를 실행하면 가장 최근에 저장된 stash가 적용됩니다.
헷갈렸는데 이해가 쏙쏙이에요 좋은 글 감사합니다!