git cherry-pick이 작동하지 않습니다.
마스터에서 커밋을 선택하여 현재 프로덕션 브랜치로 가져 오려고합니다. 그러나 실행 git cherry-pick <SHA-hash>
하면 다음 메시지가 나타납니다.
# On branch prod_20110801
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
# site/test-result/
nothing added to commit but untracked files present (use "git add" to track)
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git reset'
참고 : 재설정 및 재설정 --hard HEAD ^를 시도했지만 아무것도 변경하지 않은 것 같습니다.
왜 이것이 나를 위해 작동하지 않는지 혼란 스럽습니다.
이 문제를 해결하는 방법에 대한 통찰력, 조언 또는 아이디어가 도움이 될 것입니다 ~!
Git은 체리 픽을 no-op으로 해결하고 있습니다. 커밋에 의해 도입 된 모든 변경 사항은 현재 브랜치의 일부 커밋에 의해 도입되었습니다. (또는 어쨌든 Git이 생각하는 것입니다.) 체리 피킹중인 커밋이 적절한 병합, 리베이스 / 체리-픽 또는 단편적인 패치와 같이 어떤 식 으로든 이미 병합되지 않았는지 확인합니다. ( git show <commit-id>
차이를 보려면 사용 하십시오.)
제 경우에는 제가 체리를 고르고 싶은 특정 커밋이 제 현재 브랜치에 병합 되지 않았 음 이 분명했기 때문에 이것이 저를 미치게 만들었습니다.
누군가 이미 체리가 일주일 전에 커밋을 고른 것으로 밝혀졌습니다 . 변화 가 아니라 특정의 SHA 내 현재 지점에 이미 있었고, 나는 그들을 발견하지 않았다.
체리 픽을 시도중인 파일을 확인하십시오. 이미 변경 사항이있는 경우 커밋 버전이 이미 선택되었거나 다른 방식으로 추가되었습니다. 따라서 체리를 다시 선택할 필요가 없습니다.
또한 빈 파일 (예 :) .gitkeep
을 트리에 추가하는 것은 cherry-pick에서 빈 커밋으로 간주됩니다.
여기에 이것이 발생할 수있는 또 다른 혼란스러운 상황이 있습니다.
나는 분명히 아무것도 아닌 9a7b12e를 체리로 선택하려고 노력하고 있었는데, 심지어 4497428이 내가 정말로 원하는 것이라고 git 로그 출력의 해당 줄에 알려 주려고 시도했습니다. (내가 한 일은 커밋 메시지를 찾아서 내가 본 첫 번째 해시를 잡는 것입니다). 어쨌든, 그냥 체리를 선택하지 않도록 속일 수있는 또 다른 방법이 있다는 것을 사람들에게 알리고 싶었습니다.
참고 URL : https://stackoverflow.com/questions/7072013/git-cherry-pick-not-working
'Programing' 카테고리의 다른 글
pinterest api 문서 (0) | 2020.08.25 |
---|---|
Android : 의도에 대한 setFlags와 addFlags의 차이점은 무엇입니까? (0) | 2020.08.25 |
파이썬 문자열 앞의 ab 접두사는 무엇을 의미합니까? (0) | 2020.08.25 |
IP 주소 ':: 1'은 무엇입니까? (0) | 2020.08.25 |
matplotlib 플롯의 왼쪽 상단 모서리에 텍스트 넣기 (0) | 2020.08.25 |