반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- I'm Sorry
- 알고리즘
- 빅데이터
- 데이터구조
- 보안
- 파이썬
- 코딩
- 자료구조
- 컴퓨터공학
- 딥러닝
- 2
- 네트워크
- 프로그래밍
- 소프트웨어공학
- Yes
- 머신러닝
- 클라우드컴퓨팅
- 프로그래밍언어
- 데이터분석
- 자바스크립트
- 사이버보안
- 버전관리
- 웹개발
- 네트워크보안
- 인공지능
- 데이터과학
- 컴퓨터비전
- 소프트웨어
- 데이터베이스
- 컴퓨터과학
Archives
- Today
- Total
스택큐힙리스트
Git에서 로컬 커밋을 삭제하세요. 본문
반응형
안 좋은 cherry-picking으로 인해 저의 로컬 Git 저장소는 현재 원본보다 5개의 커밋을 앞선 상태이며, 좋은 상태가 아닙니다. 이 모든 커밋을 지우고 다시 시작하고 싶습니다.
분명히 작업 디렉토리를 삭제하고 다시 클론하는 것도 가능하지만, GitHub에서 모든 것을 다시 다운로드하는 것은 너무 과대한 것 같고, 제 시간의 낭비입니다.
아마도 git revert
가 필요한 것 같지만, 코드 자체를 올바른 상태로 되돌리더라도 원본보다 10개(또는 6개)의 커밋이 추가되는 것을 원하지 않습니다. 방금 지난 반 시간이 사라진 것처럼 하고 싶습니다.
이를 위한 간단한 명령어가 있는지 알 수 있을까요? 이는 명백한 사용 사례인 것 같지만, 이에 대한 예제를 찾을 수 없습니다.
이 질문은 명확히 커밋에 관한 것이며, 다음과 같지 않습니다:
- 추적되지 않은 파일
- 스테이징되지 않은 변경 사항
- 스테이징되었지만 커밋되지 않은 변경 사항
답변 1
만약 당신의 추가 커밋이 오직 당신에게만 보이는 것이라면, 당신은 단순히 git reset --hard origin/<branch_name>
을(를) 수행하여 원점으로 돌아갈 수 있습니다. 이렇게 하면 리포지토리의 상태가 이전 커밋으로 재설정되며 모든 로컬 변경 사항이 삭제됩니다.
git revert
를 수행하면 모든 사람들의 히스토리를 안정적으로 유지하는 방식으로 이전 커밋을 제거하기 위한 새로운 커밋이 생성됩니다.
답변 2
Git으로 로컬 커밋을 삭제해보세요Git은 분산 버전 관리 시스템으로, 소스 코드 변경 사항을 추적하고 내용을 관리하는 데 사용됩니다. 때로는 로컬에서 작업하다 보면 실수로 잘못된 커밋을 만들 경우가 있을 수 있습니다. 그럴 때는 로컬 커밋을 삭제하는 방법을 알고 있으면 유용합니다. 이 기사에서는 Git을 사용하여 로컬 커밋을 삭제하는 방법에 대해 안내드리겠습니다.
로컬 커밋을 삭제하는 방법 중 가장 간단한 방법은 'git reset' 명령어를 사용하는 것입니다. 이 명령어를 사용하면 특정 커밋으로 돌아가는 것이 아니라, 마지막 커밋부터 원하는 지점까지 역으로 돌아갈 수 있습니다. 이런식으로 로컬 커밋을 삭제하고 싶다면, 다음 명령어를 입력하세요:
```
git reset
```
여기서 `
또 다른 방법은 'git rebase' 명령어를 사용하는 것입니다. 이 방법은 커밋들을 재정렬하는 기능을 제공하여 특정 커밋 이후의 모든 커밋을 삭제할 수 있습니다. 다음 명령어를 사용하여 로컬 커밋을 삭제해보세요:
```
git rebase --onto
```
여기서 `
위에서 설명한 두 가지 방법은 로컬에서만 작동합니다. 만약 이미 원격 저장소에 푸시한 커밋을 삭제하고 싶다면, 'git push --force' 명령어를 사용할 수 있습니다. 이 명령어는 원격 저장소의 커밋을 덮어쓰는 역할을 합니다. 하지만, 이 명령어는 신중하게 사용해야 합니다. 다른 사람과 협업하는 경우에는 주의해야 하며, 덮어쓴 커밋은 복구할 수 없다는 점을 알아두어야 합니다.
결론적으로, Git을 사용하여 로컬 커밋을 삭제하는 방법에 대해 알아보았습니다. 'git reset'이나 'git rebase' 명령어를 사용하여 원하는 커밋 이후의 변경 사항을 삭제할 수 있습니다. 다만, 신중하게 사용해야 하며 원격 저장소에 푸시한 커밋을 삭제할 때는 요령을 잘 따라야 합니다. Git을 잘 활용하여 프로젝트를 효과적으로 관리하는 데 도움이 되기를 바랍니다.
반응형
Comments