일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 소프트웨어
- 데이터구조
- 인공지능
- 보안
- 자료구조
- 컴퓨터공학
- 자바스크립트
- I'm Sorry
- 클라우드컴퓨팅
- 네트워크보안
- 네트워크
- 컴퓨터비전
- 데이터분석
- 머신러닝
- 프로그래밍
- 딥러닝
- 웹개발
- 사이버보안
- Yes
- 2
- 소프트웨어공학
- 데이터베이스
- 데이터과학
- 파이썬
- 프로그래밍언어
- 컴퓨터과학
- 빅데이터
- 알고리즘
- 코딩
- 버전관리
- Today
- Total
스택큐힙리스트
로컬 저장소 브랜치를 원격 저장소 HEAD와 동일하게 재설정합니다. 본문
로컬 브랜치를 원격 저장소의 브랜치와 동일하게 재설정하는 방법은 무엇인가요?
저는 시도해 봤어요.
git reset --hard HEAD
하지만 git status는 내가 수정한 파일이 있다고 주장합니다.
On branch master
Changes to be committed:
(use git reset HEAD
modified: java/com/mycompany/TestContacts.java
modified: java/com/mycompany/TestParser.java
답변 1
원격 브랜치와 정확하게 일치하도록 지점을 설정하는 데는 두 단계가 필요합니다.
git fetch origin
git reset --hard origin/master
이 작업을 수행하기 전에 현재 브랜치의 상태를 저장하려면 (혹시 모를 경우), 다음을 수행할 수 있습니다:
git commit -a -m Saving my work, just in case
git branch my-saved-work
지금 당신의 작업은 my-saved-work 브랜치에 저장되어 있습니다. 나중에 다시 가져오거나 업데이트된 브랜치와 차이를 비교하거나 나중에 보려고 할 경우 사용할 수 있습니다.
첫 번째 예시는 원격 저장소의 이름이 origin이고, 원격 저장소의 master 브랜치가 로컬 저장소에서 현재 체크아웃된 브랜치와 일치한다는 것을 전제로 합니다.
BTW, 당신이 처한 이 상황은 보통 비빈 저장소의 현재 체크아웃된 브랜치로 push가 이루어진 경우와 매우 유사해 보입니다. 최근에 로컬 저장소로 push를 했나요? 그렇지 않다면 걱정하지 마세요 - 다른 무언가가 이 파일들을 예상치 못하게 수정하게 한 것입니다. 그렇지만 그렇다면, 비빈 저장소로 push하는 것이 권장되지 않으며 특히 현재 체크아웃된 브랜치로 push하는 것이 아닌 것을 알고 있어야 합니다.
답변 2
깃은 협업을 위한 필수적인 도구 중 하나입니다. 그러나 때로는 로컬 리포지토리의 브랜치가 원격 리포지토리의 브랜치와 다르게 되는 경우가 있습니다. 이런 경우 로컬 브랜치를 원격 브랜치와 동일하게 재설정해야 합니다. 이를 위해서는 다음과 같은 단계를 따라야 합니다.
첫째, 깃 명령 프롬프트나 깃 터미널에서 로컬 리포지토리로 이동합니다. 둘째, git fetch 명령어를 입력하여 원격 리포지토리에서 변경 사항을 가져옵니다. 셋째, 로컬 브랜치를 원격 브랜치와 동일하게 재설정합니다. 이를 위해서는 git reset --hard origin/branch_name 명령어를 입력합니다. 여기서 브랜치 이름은 원격 브랜치의 이름과 동일해야 합니다.
이렇게 하면 로컬 브랜치가 원격 브랜치와 동일해집니다. 그러나 로컬 브랜치의 변경 사항은 사라집니다. 따라서 이 작업을 수행하기 전에 로컬 브랜치의 변경 사항을 다른 곳에 백업하는 것이 좋습니다.
앞서 설명했듯이 깃은 협업을 위한 필수적인 도구입니다. 따라서 깃을 제대로 활용할 수 있도록 여러 가지 명령어를 숙지하는 것이 중요합니다. 로컬 브랜치를 원격 브랜치와 동일하게 재설정하는 방법도 하나의 중요한 명령어입니다. 이를 숙지하면 깃을 효율적으로 사용할 수 있으며 협업도 더욱 원활해질 것입니다.