我有一个名为foo的远程分支,在当前客户端中没有被跟踪。我执行了gitcheckout-borigin/foo,这创建了一个名为origin/foo的本地分支。这看起来很糟糕,因为到目前为止,我所有的本地分支机构都没有origin/前缀。我试图通过运行gitbranch-dorigin/foo来删除这个本地分支,但它提示分支没有完全merge。我担心如果我使用-D强制它,它实际上会删除远程分支。我该如何收拾这个烂摊子? 最佳答案 通过重命名分支然后删除它来解决。branch-morigin/foobad_foobranch-dbad
我有一个名为foo的远程分支,在当前客户端中没有被跟踪。我执行了gitcheckout-borigin/foo,这创建了一个名为origin/foo的本地分支。这看起来很糟糕,因为到目前为止,我所有的本地分支机构都没有origin/前缀。我试图通过运行gitbranch-dorigin/foo来删除这个本地分支,但它提示分支没有完全merge。我担心如果我使用-D强制它,它实际上会删除远程分支。我该如何收拾这个烂摊子? 最佳答案 通过重命名分支然后删除它来解决。branch-morigin/foobad_foobranch-dbad
如果你执行gitbranch-dbranchname,如果它引用了你历史中较早的提交,它将删除分支名称,或者告诉你你需要使用-D否则。我经常创建后来推送到master的分支,因此可以按此标准删除。有没有一种简单的方法可以列出所有指向master早期提交的分支,即git不介意仅使用-d选项删除的分支?如果它同时适用于所有分支,而不仅仅是大师,则可获得加分。我有82个本地分支机构,我知道现在可以安全地删除其中的大部分(如果不是大部分的话),但我不想花时间逐一尝试删除。 最佳答案 尝试:$gitcheckoutmaster#orwhate
如果你执行gitbranch-dbranchname,如果它引用了你历史中较早的提交,它将删除分支名称,或者告诉你你需要使用-D否则。我经常创建后来推送到master的分支,因此可以按此标准删除。有没有一种简单的方法可以列出所有指向master早期提交的分支,即git不介意仅使用-d选项删除的分支?如果它同时适用于所有分支,而不仅仅是大师,则可获得加分。我有82个本地分支机构,我知道现在可以安全地删除其中的大部分(如果不是大部分的话),但我不想花时间逐一尝试删除。 最佳答案 尝试:$gitcheckoutmaster#orwhate
我有一个可用的git存储库。但是,在键入gitbranch-a时,我错过了remotes/origin/HEAD->origin/master。为什么HEAD丢失了?如何将丢失的HEAD添加到我的存储库中? 最佳答案 原答案:来源的HEAD仅在您克隆存储库时获取。如果您以其他方式添加Remote(例如,通过使用gitremoteadd或通过重命名另一个现有Remote),此引用将不存在,因为没有理由拥有它。远程repo应该是barerepos在大多数情况下,在裸repo中HEAD仅指向“默认”分支。这只在一次相关:克隆时。因此,克隆
我有一个可用的git存储库。但是,在键入gitbranch-a时,我错过了remotes/origin/HEAD->origin/master。为什么HEAD丢失了?如何将丢失的HEAD添加到我的存储库中? 最佳答案 原答案:来源的HEAD仅在您克隆存储库时获取。如果您以其他方式添加Remote(例如,通过使用gitremoteadd或通过重命名另一个现有Remote),此引用将不存在,因为没有理由拥有它。远程repo应该是barerepos在大多数情况下,在裸repo中HEAD仅指向“默认”分支。这只在一次相关:克隆时。因此,克隆
我有两个master分支,每个分支用于不同的功能,然后我有一个综合分支将两者结合起来。我向综合分支提交了一些内容,但现在我发现我宁愿将该更改应用于特定于该功能的分支之一。有没有办法用git取消应用/应用到其他地方? 最佳答案 Cherry-pick提交到目标分支并重置源分支。假设,你想将最新的提交从source分支移动到target,做:gitcheckouttargetgitcherry-picksourcegitcheckoutsourcegitreset--hardsource^如果提交不是最后一次,您将不得不使用gitreb
我有两个master分支,每个分支用于不同的功能,然后我有一个综合分支将两者结合起来。我向综合分支提交了一些内容,但现在我发现我宁愿将该更改应用于特定于该功能的分支之一。有没有办法用git取消应用/应用到其他地方? 最佳答案 Cherry-pick提交到目标分支并重置源分支。假设,你想将最新的提交从source分支移动到target,做:gitcheckouttargetgitcherry-picksourcegitcheckoutsourcegitreset--hardsource^如果提交不是最后一次,您将不得不使用gitreb
我有一个相当大的Git存储库,其中包含1000次提交,最初是从SVN导入的。在公开我的存储库之前,我想清理几百条在我的新存储库中没有意义的提交消息,并删除所有添加的git-svn信息文本。我知道我可以使用“gitrebase-i”然后使用“gitcommit--amend”来编辑每个单独的提交消息,但是要编辑数百条消息,这对你来说是一个巨大的痛苦-什么。有没有更快的方法来编辑所有这些提交消息?理想情况下,我会将每条提交消息都列在一个文件中,我可以在一个地方编辑它们。谢谢! 最佳答案 这是一个老问题,但由于没有提到gitfilter-
我有一个相当大的Git存储库,其中包含1000次提交,最初是从SVN导入的。在公开我的存储库之前,我想清理几百条在我的新存储库中没有意义的提交消息,并删除所有添加的git-svn信息文本。我知道我可以使用“gitrebase-i”然后使用“gitcommit--amend”来编辑每个单独的提交消息,但是要编辑数百条消息,这对你来说是一个巨大的痛苦-什么。有没有更快的方法来编辑所有这些提交消息?理想情况下,我会将每条提交消息都列在一个文件中,我可以在一个地方编辑它们。谢谢! 最佳答案 这是一个老问题,但由于没有提到gitfilter-