티스토리 뷰
깃허브 → 내 PC 로 브랜치 내용 덮어쓰기
[문제상황]
로컬과 원격의 main 레포 작업 내용이 뒤엉켜서 pull로 땡겨온다 해도 로컬의 main에서 commit을 해놨기 때문에 변경사항이 존재함 즉 땡겨와도 보내도 컨플릭트가 불가피한 상황
-> 제가 원했던 건 가장 최신화된 main브랜치의 내용을 로컬 main으로 가져오기만 하면 되는 것이라서 로컬 main의 이전 데이터가 날라가도 상관이 없었습니다.
즉, 깃허브에 있는 원격 main 브랜치의 내용을 가져와서 로컬 저장소의 main 브랜치에 덮어쓰고 싶은 상황
👉방법
(vscode에서 bash사용, 운영체제: window)
*평소에는 sourcetree를 사용하나 git 명령어로 하는 것이 더 편리하여 아래와 같은 방법으로 해결하였습니다.
*여기서 원격 저장소란 github를 지칭하고, 로컬 저장소는 내 컴퓨터(내 pc)라고 생각하시면 됩니다.
1. main 브랜치로 체크아웃합니다.
git checkout main // 로컬의 main을 뜻하겠죠?
2. 원격 저장소의 최신 내용을 가져옵니다.
git fetch origin // 원격 저장소 내용 가져오기
3. 덮어씁니다. (원격 -> 로컬)
git reset --hard origin/main
내 PC → 깃허브로 브랜치 내용 덮어쓰기
작업 내역이 너무 꼬였을 때나 컨플릭트 해결이 필요없는 경우만 사용(원래라면 컨플릭트는 해결해야 합니다.)
현재 작업한 내용을 원격 저장소(github)에 강제로 push하여 덮어씌울 수 있습니다.
git push origin +브랜치명 //여기서 +는 단순히 둘이 같이쓰세요 의미가 아니라 꼭 붙여야 하는 표식입니다.
// e.g.) git push origin +dev // dev 브랜치에 덮어쓰려면 이렇게 쓰면 되겠죠
'프로그래밍 > Git, Github' 카테고리의 다른 글
[Github] commit message & Issue 활용 (0) | 2023.01.11 |
---|---|
[Git] merge와 rebase의 차이, 깔끔한 Git history를 위한 Rebase 사용법 주의사항 (0) | 2022.12.01 |
[Git] .gitignore가 적용되지 않을 때 with sourcetree (0) | 2022.05.22 |
[Git] sourcetree 충돌 해결하기(merge conflict) (0) | 2022.05.09 |
[Git] sourcetree 협업 git 프로젝트 관리하기 (0) | 2022.05.08 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Prittier
- fs모듈 넥스트
- 항해99프론트
- 타입스크립트 장점
- 프리렌더링확인법
- reactAPI
- getServerSideProps
- 타입스크립트 DT
- nvm경로 오류
- 형제 요소 선택자
- 원티드 FE 프리온보딩 챌린지
- float 레이아웃
- is()
- tilde caret
- && 셸 명령어
- getStaticPaths
- 항해99프론트후기
- ~ ^
- grid flex
- 원티드 프리온보딩 FE 챌린지
- 부트캠프항해
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- text input pattern
- D 플래그
- aspect-ratio
- 원티드 3월 프론트엔드 챌린지
- 항해99추천비추천
- nvm 설치순서
- 틸드와 캐럿
- 프리온보딩 프론트엔드 챌린지 3월
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함