2017-01-13 7 views
0

로컬 저장소에 많은 변경 사항을 적용했지만 그 중 일부만 푸시하려고합니다. 가능한가? 모든 변경 사항이있는 목록 (푸시하기 전에)이 있지만 몇 가지만 눌러야합니다. 이 모든 변경 사항을 해당 지역 repostitory에서 되돌리고 싶습니다. 푸시하고 싶은 변경 사항만으로 패치를 만들었지 만 이제는 로컬 레포에서 변경 사항을 제거 할 수 없습니다. git reset hard을 사용해 보았지만 원하는대로 작동하지 않습니다.Git - 커밋 된 변경 사항을 로컬 저장소

+0

가능한 복제 할 수있는 [로컬 자식 중 일부는 커밋 만 밀어 않습니다 어떻게?] (http://stackoverflow.com/ 질문/604399/푸시 전용 - some-of-your-local-git-commits) – sigy

+0

관련 항목 : [git-pushing specific commit] (https://stackoverflow.com/questions/3230074/) – sigy

+0

@sigy OP의 문제는 지역 기록을 바꾸기를 원하기 때문에 다르다고 생각합니다. – Dunno

답변

2

당신이 정말로, 정말 그냥 원치 않는 커밋을 삭제하려면, 다음

git rebase -i <sha_of_commit_before_those_that_are_unwanted> 

을하고 당신이 제거하려는 커밋에 다음 줄을 삭제합니다.

그러나, 사람들은 사라지고 다시를 얻는 것은 가능하지 않을 수도 커밋 것을 명심. 어쩌면 그 커밋을 임시 원격 브랜치에 푸시할지, 아니면 그들과 로컬 브랜치를 만드시겠습니까? 당신이 당신의 커밋을 제거 왔 이제

, 당신은 간단한 git push origin branch

+0

글쎄, 임시 분기를 만들고 내 지점을 변경해야하는 것보다이 지점에 로컬 저장소에서 변경 사항을 적용하는 경우, 맞습니까? 그것은 내가 생각하는 안전한 방법입니다. – allocer

+1

@allocer 예, 로컬 지사를 만드는 것은 커밋을 보존합니다. 난 그냥 추가 안전을 위해 원격으로 밀어 선호합니다 – Dunno

+0

나는 새로운 지점을 만들었습니다, 내 모든 변경 사항을 다시 메인 브랜치와 푸시 윈도우로 푸시했습니다. 이전에 로컬 변경 사항이 그대로 남아 있습니다. 이 문제를 해결하는 방법? – allocer