UPDATE²:WithGit2.23(August2019),there'sanewcommandgitrestorethatdoesthis,seetheacceptedanswer.UPDATE:ThiswillworkmoreintuitivelyasofGit1.8.3,seemyownanswer.想象一下以下用例:我想删除我的Git工作树的特定子目录中的所有更改,而保留所有其他子目录不变。我可以gitcheckout.,但是gitcheckout.addsdirectoriesexcludedbysparsecheckout有gitreset--hard,但它不允许我对子
UPDATE²:WithGit2.23(August2019),there'sanewcommandgitrestorethatdoesthis,seetheacceptedanswer.UPDATE:ThiswillworkmoreintuitivelyasofGit1.8.3,seemyownanswer.想象一下以下用例:我想删除我的Git工作树的特定子目录中的所有更改,而保留所有其他子目录不变。我可以gitcheckout.,但是gitcheckout.addsdirectoriesexcludedbysparsecheckout有gitreset--hard,但它不允许我对子
如果要检查一个分支:gitcheckout760ac7e来自例如b9ac70b,如何在不知道其SHA1的情况下返回到最后一个已知的头部b9ac70b? 最佳答案 如果您记得之前checkout过哪个分支(例如master),您可以简单地gitcheckoutmaster摆脱分离的HEAD状态。一般来说:gitcheckout会让你摆脱困境。如果你不记得上次的分支名称,试试gitcheckout-这也会尝试检查您上次检查的分支。 关于Git:如何从'detachedHEAD'状态返回,我们
如果要检查一个分支:gitcheckout760ac7e来自例如b9ac70b,如何在不知道其SHA1的情况下返回到最后一个已知的头部b9ac70b? 最佳答案 如果您记得之前checkout过哪个分支(例如master),您可以简单地gitcheckoutmaster摆脱分离的HEAD状态。一般来说:gitcheckout会让你摆脱困境。如果你不记得上次的分支名称,试试gitcheckout-这也会尝试检查您上次检查的分支。 关于Git:如何从'detachedHEAD'状态返回,我们
我使用gitcheckout-b创建了一个新分支。我认为gitbranch做同样的事情。如果这两个命令完全不同,它们有何不同? 最佳答案 gitcheckout-bBRANCH_NAME创建一个新分支并checkout新分支,而gitbranchBRANCH_NAME创建一个新分支但将您留在同一分支上。换句话说,gitcheckout-bBRANCH_NAME为您执行以下操作。gitbranchBRANCH_NAME#createanewbranchgitswitchBRANCH_NAME#thenswitchtothenewbra
我使用gitcheckout-b创建了一个新分支。我认为gitbranch做同样的事情。如果这两个命令完全不同,它们有何不同? 最佳答案 gitcheckout-bBRANCH_NAME创建一个新分支并checkout新分支,而gitbranchBRANCH_NAME创建一个新分支但将您留在同一分支上。换句话说,gitcheckout-bBRANCH_NAME为您执行以下操作。gitbranchBRANCH_NAME#createanewbranchgitswitchBRANCH_NAME#thenswitchtothenewbra
有人知道这两个切换和跟踪远程分支的命令之间的区别吗?gitcheckout-bbranchorigin/branchgitcheckout--trackorigin/branch我想两者都会跟踪远程分支,这样我就可以将我的更改推送到原始分支,对吧?有什么实际差异吗? 最佳答案 这两个命令具有相同的效果(thankstoRobertSiemer’sanswerforpointingitout)。当使用名为不同的本地分支时,实际的区别就来了:gitcheckout-bmybranchorigin/abranch将创建mybranch和跟
有人知道这两个切换和跟踪远程分支的命令之间的区别吗?gitcheckout-bbranchorigin/branchgitcheckout--trackorigin/branch我想两者都会跟踪远程分支,这样我就可以将我的更改推送到原始分支,对吧?有什么实际差异吗? 最佳答案 这两个命令具有相同的效果(thankstoRobertSiemer’sanswerforpointingitout)。当使用名为不同的本地分支时,实际的区别就来了:gitcheckout-bmybranchorigin/abranch将创建mybranch和跟
这个问题在这里已经有了答案:HowdoIrevertaGitrepositorytoapreviouscommit?(41个回答)关闭8年前。在Git上,假设我搞砸了我的提交,我想将版本3之前的提交作为新版本。如果我执行gitcheckoutxxxx,它会创建一个新分支,似乎我只能merge它?我可以将其设为新的“主版本”吗?我要:A-B-C-D-E成为A-B-C-D-E-F其中F与C的内容完全相同如果我改用gitrevertxxxx,好像肯定会有冲突,需要手动解决。我真正想要的是在某个时候将旧提交变成新提交,而不管我的工作目录或最新提交中有什么。我该怎么做?
这个问题在这里已经有了答案:HowdoIrevertaGitrepositorytoapreviouscommit?(41个回答)关闭8年前。在Git上,假设我搞砸了我的提交,我想将版本3之前的提交作为新版本。如果我执行gitcheckoutxxxx,它会创建一个新分支,似乎我只能merge它?我可以将其设为新的“主版本”吗?我要:A-B-C-D-E成为A-B-C-D-E-F其中F与C的内容完全相同如果我改用gitrevertxxxx,好像肯定会有冲突,需要手动解决。我真正想要的是在某个时候将旧提交变成新提交,而不管我的工作目录或最新提交中有什么。我该怎么做?