git cherry-pick远程无分支提交

时间:2014-10-18 22:29:26

标签: git github

我试图从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的信息。谢谢。

3 个答案:

答案 0 :(得分:5)

它不会完全是挑选,但您可以按如下方式应用此提交:

  1. .patch添加到Github URL并将其另存为git补丁文件:

    wget https://github.com/angular/angular.js/commit/469b750019adb193f2b973ab841ac87d0d06d4f2.patch -o new.patch
    
  2. 使用git am

    将此提交应用于您的树
    git am new.patch
    
  3. 这个结果应与樱桃采摘相同。

答案 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'得到那些提交,然后樱桃选择工作。 这可能是大多数问题的解决方案,我猜这个错误。