Git: 푸시 후 커밋된 파일 제거
Git에서 커밋된 파일을 되돌릴 수 있습니까?GitHub에 커밋을 푸시한 후 푸시되고 싶지 않은 파일이 있다는 것을 깨달았습니다(변경을 완료하지 않았습니다).
업데이트: 더 안전한 방법 추가
선호하는 방법:
파일의 이전(오프라인) 상태를 체크아웃하고 이중 대시를 확인합니다.
git checkout HEAD^ -- /path/to/file커밋:
git commit -am "revert changes on this file, not finished with it yet"밀면 힘이 필요 없습니다.
git push완료되지 않은 작업으로 돌아가서 다시 수행합니다(화살표 3회).
git checkout HEAD^ -- /path/to/file
효과적으로 '커밋 해제':
저장소 HEAD의 마지막 커밋을 수정하여 실수로 밀어낸 작업을 혼란스럽게 하는 동시에 이미 작업을 끌어냈을 수 있는 동료와 충돌할 가능성이 있으며 백발이 되어 로컬 지점 헤드를 중앙 지점 헤드와 조정하려고 시도하는 데 많은 시간을 허비하게 됩니다.
마지막 커밋에서 파일 변경을 제거하는 방법
파일을 마지막 커밋 전의 상태로 되돌리려면 다음을 수행합니다.
git checkout HEAD^ /path/to/file되돌린 파일로 마지막 커밋을 업데이트하려면 다음을 수행합니다.
git commit --amend업데이트된 커밋을 repo에 푸시하려면 다음을 수행합니다.
git push -f
정말로, 앞에서 언급한 선호하는 방법을 사용하는 것을 고려해 보십시오.
원격 repo에서 파일을 제거하려면 먼저 --cache 옵션을 사용하여 프로젝트에서 파일을 제거한 후 다음을 누릅니다.
git rm --cached /path/to/file
git commit -am "Remove file"
git push
(이는 파일이 원격 repoo 일부 커밋 전에 추가된 경우에도 작동합니다.) .git에 추가하면 푸시하지 않을 파일 확장명은 무시됩니다.
하나의 파일만 지정된 리비전으로 되돌릴 수 있습니다.
먼저 파일이 변경된 커밋을 확인할 수 있습니다.
git log path/to/file.txt
그런 다음 수정 번호로 파일을 확인할 수 있습니다.
git checkout 3cdc61015724f9965575ba954c8cd4232c8b42e4 /path/to/file.txt
그런 다음 커밋하고 다시 누르면 됩니다.
다음 워크플로를 사용할 수 있습니다.
git reset --soft HEAD~1
git reset HEAD /path/to/file
파일을 올바른 상태로 재설정하고 커밋한 다음 다시 누릅니다.
다른 사용자가 아직 변경사항을 가져오지 않은 것이 확실하면 다음을 사용할 수 있습니다.--amend커밋할 때 이전 커밋을 수정(즉, 기록 다시 쓰기)한 다음 를 누릅니다.제 생각에 당신은 그것을 사용해야 할 것 같습니다.-f그러나 밀어 넣을 때는 밀어 넣을 수 있는 옵션입니다.
사용하다git rm --cached /path/to/file그런 다음 추가, 커밋 및 푸시를 수행합니다.위의 답변과 마찬가지로, 그러나 당신은 사용해야 합니다.--cached것은 아니다.--cache.
마지막 커밋의 해시 코드를 가져옵니다.
git log
- 커밋 되돌리기
git revert <hash_code_from_git_log>
- 변경사항 푸시
git push
GHR에서 확인합니다.필요한 것은 무엇이든 얻을 수 있습니다. 이것이 유용하기를 바랍니다.
다음 단계를 수행했습니다 [특히 노드 모듈 폴더에서는 항상 발생합니다].
1비트 로그
2- git revert 04409a858709c82fbf9ea7559d6ae9c34b6fbe6
당신의 헌신적인 것으로 번호를 변경합니다.
<이 04409a858709c82fbf9eae7559d6ae9c34b6fbe6와 같은 긴 숫자가 될 것입니다>
3비트 푸시
이것은 저에게 효과가 있었지만, 여기에는 첫 번째 커밋이 목록의 마지막 커밋이 될 것이라는 속임수가 있다는 것을 명심하십시오. 날짜와 커밋 메시지를 확인하십시오.
당신이 지점을 만든 지점이 '개발'이라면 저는 다음과 같이 할 것입니다.
실행:
git checkout develop /path/to/file
수 경로를 지정할 수 있습니다.git status
언급URL : https://stackoverflow.com/questions/18357511/git-remove-committed-file-after-push
'source' 카테고리의 다른 글
| R 파이프 연산자 사용 시 조건부 평가 %>% (0) | 2023.06.26 |
|---|---|
| 서버 REST 로직을 vue/vuex에 저장하는 위치 (0) | 2023.06.26 |
| tsql 함수 또는 저장 프로시저에서 표 반환 (0) | 2023.06.26 |
| 루비 클래스의 이름을 어떻게 알 수 있습니까? (0) | 2023.06.26 |
| Kubernetes Java 응용 프로그램에서 최신 포드를 가져오는 방법 (0) | 2023.06.26 |