특정 커밋으로 재설정하고 싶습니다. git reset --hard Head~5
명령을 사용하여 로컬을 재설정했습니다. 나는 약간의 변화를 만들고 지금은 밀어주고 싶다. 그러나 나는 Updates were rejected because the tip of your current branch is behind
을 얻는다. 그렇지 않으면 나는 가장 최근의 커밋으로 되돌아갑니다. 어떻게 재설정합니까?특정 커밋으로 되돌리기 만 할 수는 없습니다.
답변
강제로 밀어 낼 수는 있지만 문제가 될 수 있습니다.
다른이 사람들이이 레포에서 일하고 있습니까? 원격지에서 커밋을 지우고 싶으십니까?
git push -f origin branch-name
방금 변경 한 내용과 일치하도록 원격 지점을 업데이트합니다.
하지만 이렇게 할 때주의해야합니다. 같은 지점에서 일하는 동료가있는 경우 이미 변경 사항을 가져온 경우에 대비해야합니다. 게다가 그들은 당신이 무시하려는 다른 변화를 추진했을지도 모른다.
git push --force
을 수행해야합니다 (항상 권장되는 것은 아니며 아래 참조).
강제 강제 권한이없는 경우 커밋을 다시 설정할 수 없으며 대신 reverting을 시도하십시오.
브랜치가 주요 개발 브랜치이거나 다른 개발자가 이미 가져온 경우 커밋을 재설정하고 권한 문제와 상관없이 푸시하는 것은 위험한 일이며 git revert
이 더 좋은 옵션이라는 점에 유의하십시오. . 이 되돌아갑니다
git revert Head~5..HEAD
이 HEAD~4
, HEAD~3
, ..., 그리고 HEAD
으로 표시 커밋 :
이
은 예제의 자식 되돌리기 상당 (git reset --hard HEAD~5
)입니다. 기존 커밋을 유지 한 다음
되돌리기 커밋을 맨 위에 추가합니다. 당신의 경우 5 회 되돌리기 커밋을 더하는 커밋 당 되돌리기 커밋이 1 개 되돌려집니다.
당신이 커밋 직접 관리하려는 경우 그들을 확인하지 않고 로컬 브랜치의 변경 사항을 되돌아갑니다 있도록 -n
옵션을 사용하여 (예를 들어, 대신 5 커밋 하나에 모두 복귀) :
git revert -n Head~5..HEAD
그러면 로컬 지사에서 미결 된 변경 사항을 커밋해야합니다.
git reset
아직 푸시되지 않은 로컬 커밋을 재설정하는 경우 안전합니다. 푸시 강제 권한이 있고 초기화하려는 커밋을 풀어 본 사람이 아무도 없다고 확신하는 경우 로컬로 재설정 한 다음 밀어 넣기를 수행 할 수 있습니다.
이미 푸시 된 커밋의 경우 git revert
은 내역을 변경하거나 다른 팀 구성원이 이미 가져온 커밋을 제거하지 않기 때문에 git reset
보다 안전합니다. 되돌릴 때 문제가 발생하는 경우 (예 : 해결 방법을 모르는 분쟁이있는 경우) 항상 git revert --abort
으로 작업을 중단 할 수 있습니다. 자세한 내용은 git revert documentation page을 참조하십시오.
되돌리기는 어떻게합니까? – KexAri
@KexAri가 답변을 업데이트했습니다. –
- 1. 이전 커밋으로 되돌리기 되돌리기
- 2. git repo를 이전 커밋으로 되돌리기
- 3. 베어 리포지토리 후크로 서버를 지난 커밋으로 되돌리기
- 4. 만 할 수는 테스트를 실행하는
- 5. Git을 사용하여 특정 커밋으로 파일을 재설정 할 수 없습니다.
- 6. 어떻게 작업 커밋을 특정 커밋으로 재설정 할 수 있습니까?
- 7. 특정 커밋으로 돌아 가야합니다.
- 8. Respone.Redirect는 한동안 오류를 일으키지 만 재현 할 수는 없습니다.
- 9. 동적으로 확인란을 만들었지 만 볼 수는 없습니다.
- 10. 특정 트랜잭션을 되돌리기 변경
- 11. 서브 트리가 특정 커밋으로 병합
- 12. 되돌리기 되돌리기 수정 된 레코드
- 13. git에서 커밋 되돌리기
- 14. PHP : 어떻게 특정 배열로 정렬 할 수는
- 15. 스칼라 프로그램을 컴파일 할 수는 있지만 실행할 수는 없습니다
- 16. Paperclip S3 - 이미지를 업로드 할 수는 있지만 볼 수는 없습니다.
- 17. 비디오를 녹화 할 수는 있지만 읽을 수는 없습니다.
- 18. SizeToContent가 크기를 확대 할 수는 있지만 줄일 수는 없습니다.
- 19. 일부 역할을 맡을 수는 있지만 게시 할 수는 없습니다.
- 20. Robotium 테스트를 실행할 수는 있지만 디버깅 할 수는 없습니다.
- 21. 사이트를 만들 수는 있지만 외부에서 액세스 할 수는 없습니다
- 22. 파일을 추출 할 수는 있지만 파일을 삭제할 수는 없습니다.
- 23. GIT의 누락 된 지점에서 특정 커밋으로 전환
- 24. 파일을 특정 커밋으로 재설정하는 명령은 무엇입니까?
- 25. 데이터베이스에서 검색 한 편집 데이터 만 저장하는 방법은 무엇입니까? 나는 혼란스러워. 특정 레코드를 삭제할 수는 있지만 특정 레코드 만 저장할 수는 없습니다
- 26. 마스터 히스토리에서 특정 커밋으로 마스터 브랜치를 되감습니다.
- 27. 힘내 : 이전 커밋 상태로 되돌리기
- 28. git-subtree를 사용하여 특정 커밋으로 이동하려면 어떻게해야합니까?
- 29. 쿠키는 저장할 수는 있지만 삭제할 수는 없습니다
- 30. PySerial은 읽을 수는 있지만 쓸 수는 없습니다
이 지점에서 작업하고 있습니다. 그것은 주요 dev 지점에서 작은 지점입니다. – KexAri
그럴 경우 강제로 누르는 것이 안전 할 것입니다. – bcmcfc
그리고'reset'과 강제 push가 커밋 이력을 지우지 만 되돌릴 때 그것을 지우는 것이 맞습니까? – KexAri