我试图从github中挑选一个提交。
https://github.com/angular/angular.js/commit/469b750019adb193f2b973ab841ac87d0d06d4f2
据我所知,它不是任何活跃分支的一部分。我在当地的回购邮件中试过这个:
git remote add upstream https://github.com/angular/angular.js.git
git fetch upstream
git cherry-pick 469b750
我收到此错误
fatal: bad revision '469b750'
我正在尝试做什么?我搜索了丢失,孤儿和无分支的提交,但我找不到任何有用的东西。我可以复制/粘贴它并完成它,但我试图保留历史记录并了解更多关于git的信息。谢谢。
答案 0 :(得分:5)
它不会完全是挑选,但您可以按如下方式应用此提交:
将.patch
添加到Github URL并将其另存为git补丁文件:
wget https://github.com/angular/angular.js/commit/469b750019adb193f2b973ab841ac87d0d06d4f2.patch -o new.patch
使用git am
:
git am new.patch
这个结果应与樱桃采摘相同。
答案 1 :(得分:1)
这是一个非常有趣的问题。我自己在本地测试它并且提交没有出现在reflog --all
中,所以它不仅是孤立的,而且它不是从Github上下载,拉取,克隆或获取。
除非您手动下载并将其放回树中,否则它可能永远完全丢失。
https://help.github.com/articles/commit-exists-on-github-but-not-in-my-local-clone/
答案 2 :(得分:0)
我正在寻找一个同事今天做的特定提交的bitbucket然后去我的命令行樱桃选择提交(以及一系列其他提交)到另一个实验性git分支。我注意到我去了这个"致命:糟糕的修改' #######'"错误。 它是因为即使它是在bitbucket,它不在我当地的git repo ...我做了一个' git pull'得到那些提交,然后樱桃选择工作。 这可能是大多数问题的解决方案,我猜这个错误。