2013-03-26 1 views
6

'development'브랜치의 기능별 분기를 작업하는 동안 잘못된 접근 방식 (몇 번 : /)을 사용하여 기본적으로 모든 항목을 삭제하려고합니다. 내 커밋 전에이 지점에 커밋.git rebase interactive 이후에 "deleted by us"를 해석하는 방법

이 상황에서 이전에 수행 한 작업은 git rebase -i development을 수행하고 유지하기 전에 모든 커밋을 삭제 한 다음 (최신 버전) git push --force를 사용하여 원격 저장소를 업데이트하는 것입니다 가장 최근의 황금 커밋 만 포함합니다.

이 작업을 수행 한 후이 rebase commit에 대한 변경 사항을 커밋 할 때 git이 나의 요청에 이상하게 반응하는 것처럼 보입니다. 그것이 말하는 몇 파일이 있습니다

both modified:  app/helpers/statistics_helper.rb 
deleted by us:  app/models/referrals/chart.rb 
deleted by us:  app/views/statistics/_referrals.html.haml 
deleted by us:  app/views/statistics/_referrals2.html.haml 
deleted by us:  app/views/statistics/_referrals3.html.haml 

나는 그것에 대응하는 방법을 모릅니다. 내가 git add "우리에 의해 삭제 된"파일 앞에 있다면,이 파일들을 삭제할 것인가?

답변

1

커밋을 제거하면 마치 발생한 적이없는 것처럼 보입니다. 따라서 이전 커밋에서 삭제 된 파일을 추가하면 해당 파일도 제거됩니다. 아마도 그 메시지를 보는 동안입니다. 이렇게하면 최종 결과의 일부로 원하는 기존 파일의 변경 사항이 제거됩니다. 제 생각에는 당신은 rebase를 잘못 사용하고있는 것 같습니다.

마지막 커밋이 끝나면 모든 것이 원하는 상태가됩니다. 스쿼시 마지막 커밋 대신 간단하게 커밋해야합니다. 몇 가지 방법으로이 작업을 수행 할 수 있습니다. rebase -i을 사용하고 edit 대신 s 또는 squash을 지정하면 첫 번째 행을 제외한 모든 커밋 행에 적용됩니다.

다른 방법이 될 것입니다 수행합니다 <N> 커밋의 수는 스쿼시 할 필요가 돌아

git reset --soft HEAD~<N> 
git commit 

.