从Github fork拉入更改

从Github fork拉入更改,git,github,git-merge,git-commit,Git,Github,Git Merge,Git Commit,有人把我的一个Github项目交给了别人,并做了一些更改。如何将更改合并回上游版本 另外,是否可以只拉入一个特定的提交 我正在寻找的是,是否有一种方法可以拉入一个特定的提交,而不是整个分支。拉入一个提交将是一个非常好的选择,它将重写提交ID(并在保留作者的同时将您标记为提交者)。不过,这个过程非常简单: git fetch git://github.com/user/project.git git cherry-pick <SHA-COMMIT-ID> git-fetchgit:/

有人把我的一个Github项目交给了别人,并做了一些更改。如何将更改合并回上游版本

另外,是否可以只拉入一个特定的提交


我正在寻找的是,是否有一种方法可以拉入一个特定的提交,而不是整个分支。

拉入一个提交将是一个非常好的选择,它将重写提交ID(并在保留作者的同时将您标记为提交者)。不过,这个过程非常简单:

git fetch git://github.com/user/project.git
git cherry-pick <SHA-COMMIT-ID>
git-fetchgit://github.com/user/project.git
吉特樱桃采摘
您可以从存储库日志中获取SHA,例如:

git log --oneline

b019cc0 Check whether we have <linux/compiler.h>.
0920898 Include <linux/compiler.h> before including <linux/usbdevice_fs.h>.
cbf0ba1 Add DLT_DBUS, for raw D-Bus messages.
77ed5cd Libnl 2.x returns its own error codes, not errnos; handle that.
git日志--oneline
b019cc0检查我们是否有。
0920898在包含之前包含。
cbf0ba1为原始D总线消息添加DLT_DBUS。
77ed5cd Libnl 2.x返回自己的错误代码,而不是errnos;处理这件事。

使用
git-cherry-pick 0920898
可以将相应的提交带到当前分支。

尝试使用github上的/forkqueue。 在那里,您可以将提交合并到fork


或者转到选项卡“网络”并选择“Forkqueue”

有一个很棒的工具,叫做,它提供了清理拉请求的有用工具,通常“帮助您赢得git”

在此上下文中,一个有用的命令是:

git am-3

这允许您从url获取更改,并将其提交/更改应用到当前本地git,而无需获取远程存储库(大型存储库很方便)

如果将此命令用于要抓取的提交的git网页,则最终会在git中执行此提交。更有用的是:提交作者由您保留,而不是由您替换(如果您使用
git-rebase
)。如果您将此推送到回购协议,更改将由您提交,但由原始作者撰写


Nathaniel Talbott的指南是关于这个主题的一个很好的资源。它显示了处理拉请求而不是依赖github上的“恶意”合并拉请求按钮的良好工作流。

Duplicate:这是请求拉入分叉,而不是上游(尽管可能是相同的方法?)。我还想知道是否有一种方法可以拉取一个特定的提交,而不是整个分支。正确,这同样适用于反向提交。哦,没错,具体的提交部分由@Dustin正确回答。什么是“提交到cherry pick”?我不知道那里应该有什么。。。它是一个url,还是其他类型的标识符?不管怎样,我发现它是提交的散列。谢谢提交的哈希,或引用它的任何其他方式,如“HEAD~2”,如果它是从HEAD当前所在位置返回的两次提交。您可能需要包括fork的分支名称:
git fetchgit://github.com/user/project.git branchname
此后,分叉队列已被删除。