버전 되돌리기, 다른 환경에서 프로젝트 시작하기

hee_hee_·2022년 11월 21일
0

공부노트

목록 보기
30/35
post-thumbnail

변경 사항이 생기면
git commit -m'내용'

해서 저장을 해주는데
git log 로
로그를 확인해보면 여태 저장했던 버전들과 어떤 것이 최신 버전인지 확인해볼 수 있음

이 때 이전 버전으로 돌아가고 싶으면
git reset --hard HEAD~1

reset명령을 추가하고 hard 라는 플래그 통해 완벽하게 되돌리겠다는 의미이고
HEAD~1은 버전 내용에서 최신 버전이 head이고 그로부터 뒤로 1버전 되돌리겠다는 것.
물결 뒤 숫자는 되돌리고 싶은만큼의 숫자를 적어주면 됨.

엔터 후 git log 확인해보면 버전이 이전 버전으로 되돌아간 것을 확인할 수 있음.

되돌리기를 잘못했을 때 되돌리려면
git reset --hard ORIG_HEAD
하면 되돌리기 전 상태가 ORIG_HEAD에 저장되기 때문에 원상복귀 시킬 수 있음.

실제에서는 reset을 함부로 사용하지 말고 주의할것.


새 브랜치를 만들고 변경사항이 생기면 새로운 버전을 등록.

후 git log 확인해보면 새 버전을 확인해볼 수 있음
다시 master 브랜치로 돌아와보면 새브랜치에서 만든 파일이 확인이 안됨.
왜냐면 별도의 브랜치에서 만든 거고 master에서 만든 것이 아니기 때문.
여기서 또 변경사항 하나 만들어주고 저장 해 이것도 새 버전으로 저장해줌.

이걸 git hub 원격 저장소에 저장하려면
새 저장소를 추가해주고
저장소 주소 복사해 프로젝트로 돌아와서
터미널에서 git remote add origin 저장소 주소
이후 git push origin master 해주고
브라우저 돌아와주면 잘 업로드 된 것을 확인할 수 있음.
브랜치 목록 보면 master만 있기 때문에 새 브랜치도 업로드 해줌
git checkout 새브랜치
git push origin 새브랜치
하면 업로드 완료.


  • 다른 환경에서 연습하기

저장소 주소 복사하고
vscode로 가서 터미널을 올려주고
윈도우 dir / 맥 ls
cd .\Desktop\
git clone 저장소 주소
하면 저장소에 올려놨던 프로젝트를 가져올 수 있음.
현재 경로 데스크탐이니까
cd .\프로젝트 이름\ 해주고
code . -r
해주면 현재 창에서 프로젝트 오픈
-r 지우면 새창에서 프로젝트 오픈.

git branch 확인해보면 master만 들어와있는 게 보임
clone을 통해 이것만 가져온건데 새 브랜치를 가지고 오고 싶다면
git branch -r 입력

그럼 빨간 글씨로 브랜치 목록이 보임

첫번째 origin head 는 원격 저장소 현재 브랜치 의미. master.
두번째는 master
세번째는 새브랜치
=> 브랜치 목록에 master와 새 브랜치가 있다고 보면 됨.

로컬 저장소 브랜치와 원격 저장소 브랜치 이름이 똑같아서 충돌나는 것을 방지하기 위해 origin 을 붙여줌.

git checkout 에 -t 라는 플래그를 붙여줌 그리고 그 뒤에 내가 원하는 브랜치 이름을 정확히 적어줌.
git checkout -t origin/새브랜치
하면 원격 저장소에 있던 새브랜치를 가지고 와서 브랜치 변경 된 거 확인하고 파일 추가된 것을 확인할 수 있음

다시 git branch 하면 브랜치 목록과 현재 브랜치 확인할 수 있음.


  • 로컬 환경서 브랜치 지우기

근데 이 브랜치가 알고보니 필요한 브랜치가 아니었을 때 로컬 환경에서 지우는 방법은

git checkout master
git branch -d 새브랜치

하면 삭제가능

git branch 로 확인해보면 사라진 것을 확인할 수 있음.


  • 브랜치 생성과 동시에 이동

git checkout -b 원하는새브랜치


  • push

git push origin 새브랜치

하면 바로 업로드가 안됨. 왜냐 새로운 환경이기 때문 권한이 있는 사용자인지 증명 필요.
sign in with your browser 눌러 이동해 로그인 진행.
로그인 후 초록색 Authorize gitcredentialmanager 버튼 클릭하면 인증 완료 되고
push 진행 됨

profile
딩코딩코딩

0개의 댓글