如何从GitHub提取特定提交?
我知道也有类似的答案,比如找到的答案,但这些答案都希望您知道GitHub提交和分支的结构,而我不知道 因此,我的问题是,如果我想从GitHub上的分支如何从GitHub提取特定提交?,git,github,Git,Github,我知道也有类似的答案,比如找到的答案,但这些答案都希望您知道GitHub提交和分支的结构,而我不知道 因此,我的问题是,如果我想从GitHub上的分支master提取提交12fds123nfd1123sefs12,那么git fetch命令是什么 为清楚起见,我的意思是我希望将所有提交都拉到一个给定的提交。至少有两种方法可以实现这一点:第一种方法是删除所需提交之后的所有提交。将帮助您: $ git rebase 12fds123nfd1123sefs12 -i 您将看到一个文本编辑器,您必须删
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、usgit reset——硬SHA1
之后删除所有提交git-rebase-i
不会起作用,因为删除所有内容都会中止交互式rebase。(此外,git reset
正是为了这个目的而做的,使用起来更方便。)因此,spuke Zaratutra#Clevert要在给定的SHA1、usgit reset——硬SHA1
之后删除所有提交git-rebase-i
不会起作用,因为删除所有内容都会中止交互式rebase。(此外,git reset
正是为此目的而设计的,使用起来更加方便。)