Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从GitHub提取特定提交?_Git_Github - Fatal编程技术网

如何从GitHub提取特定提交?

如何从GitHub提取特定提交?,git,github,Git,Github,我知道也有类似的答案,比如找到的答案,但这些答案都希望您知道GitHub提交和分支的结构,而我不知道 因此,我的问题是,如果我想从GitHub上的分支master提取提交12fds123nfd1123sefs12,那么git fetch命令是什么 为清楚起见,我的意思是我希望将所有提交都拉到一个给定的提交。至少有两种方法可以实现这一点:第一种方法是删除所需提交之后的所有提交。将帮助您: $ git rebase 12fds123nfd1123sefs12 -i 您将看到一个文本编辑器,您必须删

我知道也有类似的答案,比如找到的答案,但这些答案都希望您知道GitHub提交和分支的结构,而我不知道

因此,我的问题是,如果我想从GitHub上的分支
master
提取提交
12fds123nfd1123sefs12
,那么
git fetch
命令是什么


为清楚起见,我的意思是我希望将所有提交都拉到一个给定的提交。

至少有两种方法可以实现这一点:第一种方法是删除所需提交之后的所有提交。将帮助您:

$ git rebase 12fds123nfd1123sefs12 -i
您将看到一个文本编辑器,您必须删除其中的所有内容,然后保存它并强制更新远程分支:

$ git push origin master -f
第二种方法是基于所需的提交创建分支,然后释放此分支:

$ git checkout -b fixedmaster 12fds123nfd1123sefs12

现在您有了没有任何错误提交的
fixedmaster
分支。您可以释放它。

至少有两种方法可以实现这一点:第一种方法是删除所需提交之后的所有提交。将帮助您:

$ git rebase 12fds123nfd1123sefs12 -i
您将看到一个文本编辑器,您必须删除其中的所有内容,然后保存它并强制更新远程分支:

$ git push origin master -f
第二种方法是基于所需的提交创建分支,然后释放此分支:

$ git checkout -b fixedmaster 12fds123nfd1123sefs12

现在您有了没有任何错误提交的
fixedmaster
分支。您可以释放它。

您可以执行
git获取和&git签出12fds123nfd1123sefs12
吗?我认为您无法检索单个提交,因为它基于之前的所有提交。那么“
git show 12fds123nfd1123sefs12
”呢?您到底想实现什么?告诉我们为什么你需要拉这个特定的提交,在你的链接问题上有一些关于获得单次提交的东西-。这是一个深度为1的
fetch
。@halfer但假设GitHub已经设置了配置
uploadpack.allowareachablesha1inwant
(并且有一个Git 2.5)。那一点也不确定。你能做
git提取和&git签出12fds123nfd1123sefs12
吗?我认为您无法检索单个提交,因为它基于之前的所有提交。那么“
git show 12fds123nfd1123sefs12
”呢?您到底想实现什么?告诉我们为什么你需要拉这个特定的提交,在你的链接问题上有一些关于获得单次提交的东西-。这是一个深度为1的
fetch
。@halfer但假设GitHub已经设置了配置
uploadpack.allowareachablesha1inwant
(并且有一个Git 2.5)。这一点也不确定,因此斯普克·萨拉图斯特拉#Clevert要在给定的SHA1、us
git reset——硬SHA1
之后删除所有提交
git-rebase-i
不会起作用,因为删除所有内容都会中止交互式rebase。(此外,
git reset
正是为了这个目的而做的,使用起来更方便。)因此,spuke Zaratutra#Clevert要在给定的SHA1、us
git reset——硬SHA1
之后删除所有提交
git-rebase-i
不会起作用,因为删除所有内容都会中止交互式rebase。(此外,
git reset
正是为此目的而设计的,使用起来更加方便。)