【问题标题】:Commit from a github issue从 github 问题提交
【发布时间】:2014-09-13 06:37:25
【问题描述】:

我对 git 有非常深刻的理解。我只是不知道如何制作补丁、从 SHA 中获取对象,或者找到一种方法来归功于此用户的提交:https://github.com/sparkfun/DeadOn_RTC/commit/c39db0e3e531938815ec6113d6a0f4283dbe55c0

我什至尝试过使用https://github.com/defunkt/hub

DeadOn_RTC$ hub cherry-pick https://github.com/sparkfun/DeadOn_RTC/commit/c39db0e3e531938815ec6113d6a0f4283dbe55c0
fatal: bad object c39db0e3e531938815ec6113d6a0f4283dbe55c0

DeadOn_RTC$ hub merge https://github.com/sparkfun/DeadOn_RTC/pull/1
Error: awickert's fork is not available anymore

【问题讨论】:

    标签: git github


    【解决方案1】:

    我可以想到很多方法来感谢用户:

    1) 进行实际提交,使用集线器之类的工具从问题中发出拉取请求? https://stackoverflow.com/a/7841960/504685 ?

    2) 创建引用问题https://help.github.com/articles/closing-issues-via-commit-messages的其他用户提交的合并提交

    3) 进行新的提交(可能通过 git cherry-pick 或 git commit 上的选项)确保您将其他用户的详细信息设置/保留为作者


    编辑

    现在在笔记本电脑上拥有完整的 git 客户端和 sourcetree,我想我了解更多。由于它处于非活动的拉取请求中,因此您无法获得该提交。这些说明应该会有所帮助:https://help.github.com/articles/checking-out-pull-requests-locally#modifying-an-inactive-pull-request-locally

    假设您的 repo 为“origin”,sparkfun repo 为“sparkfun”:

    git fetch sparkfun pull/1/head:newbranch
    git push -f origin newbranch:master
    

    (这将使该提交进入 master 分支,并放弃您在 #1 的尝试)

    【讨论】:

    • 1) 当我这样做时,我是作者 github.com/RichardBronosky/DeadOn_RTC/commit/… 2) 甚至集线器都从 hub cherry-pick https://github.com/sparkfun/DeadOn_RTC/commit/c39db0e3e531938815ec6113d6a0f4283dbe55c0 得到“致命:坏对象 c39db0e3” 3) 这听起来令人讨厌,而且只会是一个非常最后的手段。
    • 这真是一个奇怪的案例。创建该问题和该提交的用户没有我可以克隆的分叉。提交的 URL 指向 sparkfun 用户,而不是提交问题的用户。如果你克隆 sparkfun 存储库并在提交上做一个展示,你会得到“致命:坏对象......”
    • 你在 1 上尝试了 1,你做了一个新的提交。将其他用户的仓库添加为第二个遥控器,然后在本地拉取他的提交并将其推送到您的仓库。
    • 感谢您向我介绍集线器工具。也就是说,至少,我会从中拿走一件事。我更新了问题以显示结果。
    猜你喜欢
    • 2022-01-19
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 2018-02-09
    • 2014-11-17
    • 2011-06-14
    • 2014-05-26
    相关资源
    最近更新 更多