[Git] 오류 : 리베이스로 끌어 올 수 없음 : 변경 사항이 취소되었습니다.



Answers

rebase로 당기는 것은 일반적으로 좋은 습관입니다.

그러나 색인이 깨끗하지 않으면, 즉 커밋되지 않은 변경을 한 경우에는 그렇게 할 수 없습니다.

변경 사항을 유지하려는 경우이를 해결하려면 다음을 수행하십시오.

  1. git stash stash를 사용하여 변경 내용을 git stash
  2. 리베이스로 마스터로부터 당겨 라.
  3. git stash apply stash@{0} 또는 더 간단한 git stash pop (1)에 git stash apply stash@{0} 변경 사항을 다시 적용하십시오.
Question

나는 프로젝트에서 몇몇 친구들과 협력하기 시작했고 그들은 heroku git 저장소를 사용한다.

며칠 전 저장소를 복제했고 그 이후로 일부 변경을가 했으므로 최신 업데이트를 얻으려고합니다.

나는 여기에 명시된 바와 같이 git pull --rebase 명령을 실행했다 (이것이 올바른 방법인가?) : https://devcenter.heroku.com/articles/sharing#merging-code-changes

다음과 같은 오류가 발생합니다.

$ git pull --rebase
Cannot pull with rebase: You have unstaged changes.
Please commit or stash them.

내 생각 엔 내가 코드를 엉망으로 만들었고 지금은 커밋하거나 버리기를 원한다. (숨김 의미는 무엇인가?) 변경 사항. 무슨 일이 일어나고있는거야? 이 경우 내가 변경했을 수있는 모든 내용을 삭제하고 git 저장소에서 업데이트 된 코드를 얻고 싶습니다.

내가 뭘 할 수 있는지 아는가?




리베이스를 수행하는 동안 작업 변경 사항을 유지하려면 --autostash 를 사용할 수 있습니다. documentation :

리베이스를 시작하기 전에 필요한 경우 로컬 수정을 숨기고 ( git-stash[1] ), 완료되면 숨김을 적용하십시오.

예 :

git pull --rebase --autostash



이것은 나를 위해 작동합니다 :

git fetch
git rebase --autostash FETCH_HEAD



Links