2014-12-27 4 views
-1

커밋을 만들고 github에 푸시했습니다. 그런 다음 잘못된 파일임을 알게되었고 새 파일을 추가하는 것을 잊었습니다. 푸시 된 커밋을 완전히 실행 취소하거나 삭제하거나 푸시 된 커밋에서 파일을 추가 및 삭제하고 싶습니다. 쉽게 및 어떻게해야합니까 (I이 REPO 아무도 뽑아하거나 내 커밋을 변경되지 않은 작업을 단 하나입니다.)github에 푸시 한 후 커밋을 삭제하거나 변경하십시오.

+0

커밋을 다시 시도하고 커밋을 덮어 쓸 수 있어야합니다. 너 그거 해봤 니? – jjl2

+0

두 번째로 밀어 넣으면 이전 커밋을 덮어 쓰지 않고 위에 새로운 커밋을 추가합니다. 이전의 푸시 커밋을 완전히 삭제하고 싶습니다. – oneway101

+0

공개 커밋을 수정하거나 삭제하는 것은 나쁜 습관입니다. 나쁜 커밋을 되돌리고 그 위에 새로운 커밋을 추가하는 것이 좋습니다. 당신이 마음을 바꾸고 자한다면, 로컬에서 커밋을 수정 한 다음 강제로 밀어 넣으십시오. – R0MANARMY

답변

0

... 공개적으로 액세스 할 수있는 역사를 다시 작성하는 좋은 방법이 아닙니다 언급했다.

첫 번째 방법은 "Lajos"가 언급 한 방법입니다. 커밋을 하나로 스쿼시합니다. 이는 버전 기록에 영향을 주며 공개 버전 기록을 다시 쓰는 것은 다른 사람들이 지적한대로 나쁜 것입니다. 그것은 모든 종류의 불쾌한 원인이 될 수 있습니다. 그리고 repo를 만지는 유일한 사람이라 할지라도 공개 버전 기록을 다시 작성하지 않는 습관에 빠져드는 것이 좋습니다.

더 좋은 방법은 되돌리기를하는 것입니다. 이렇게하면 바람직하지 않은 커밋의 변경을 되돌리고 새로운 커밋을 추가하여 기존 공용 기록을 수정하지 않고 기록에 새로운 커밋을 추가합니다.

자세한 내용은 git-revert을 참조하십시오.

1

한 가지 방법 :

  1. 새로운 커밋 만들기 추가 파일.
  2. 마지막 두 커밋을 하나로 스쿼시합니다. (git rebase -i HEAD ~ 2)
  3. 그리고이 브랜치를 github으로 다시 밀어 넣으십시오. (git push -f ...)

다른 방법이있을 수 있습니다.

그러나 다른 같은

당신은 여러 가지 방법으로이 작업을 수행 할 수 있습니다

관련 문제