草庐IT

Github Windows 客户端 "loading commits failed"

我有一个较大的(约15,000次提交)Git存储库,从命令行Git访问时似乎没问题,但是当我在GithubWindows客户端中打开存储库时,我总是收到错误“加载提交失败-失败”加载存储库的提交历史记录。您可能需要打开一个shell并调试此存储库的状态。”如果我取消该错误消息,那么一切似乎都很好。我的直接问题是是否有一种方法可以判断客户端尝试运行的local-git或web-github命令失败了。不过,更一般地说,是否有Github客户端的诊断模式或日志,在可能的情况下我可以告诉命令UI正在启动?谢谢, 最佳答案 回答我自己的问题

Git 扩展 : Squash commits?

为了压缩多个提交,我一直使用:gitreset--softHEAD~&&gitcommit但我想知道在像git扩展这样的好git客户端中是否有好的方法来做到这一点?如果您可以选择连续的提交并压缩它们,那就太棒了。 最佳答案 有多种打Squash的方法。这里是您可以轻松地将当前和所有其直接父级提交压缩到GitExtensions中的单个提交中的方法:右键单击要压缩到的提交并选择“将当前分支重置为此处”选择“软重置”(保留暂存文件)或“混合重置”(取消暂存所有文件)舞台,如有必要promise这是上面的动画:另一种方法是进行“交互式re

git 稳定分支 : find not cherry-picked commits

我有以下git历史:A---B---C---D'---E'[master]\\---D---E---F[stable]我们有一项政策是挑选所有从稳定版到主版的更改;D'和E'是来自稳定分支的精心挑选的提交,F不是精心挑选的(已被遗忘)。我怎样才能得到一个diff使F变大(这不是cherry-picked到master中)?我们不想使用merge,因为:没有merge提交的更清晰的历史对稳定的投入很少我们有很多不同的稳定分支机构 最佳答案 这正是gitcherry的内容命令是为了。它不应遗漏未选择的更改,但如果选择涉及冲突解决,它可能

git流 : Should I squash commits when merging from a release branch into master?

我打算将我的发布分支merge到master,我想知道在merge到master时是否应该将develop中的提交压缩为单个merge提交。关于gitflow的一般文档包含来自Atlassian页面的如下图:在这些图中,只有单个提交出现在master上,而不是所有对develop的提交。实际上,我喜欢拥有一个仅发布提交的主分支的想法。在merge到master时,我应该保留develop上的所有提交吗?还是在遵循Gitflow时在merge到master之前压缩提交?来源文章链接:GitflowWorkflow-Atlassian 最佳答案

GitHub 一直说 "This branch is X commits ahead, Y commits behind"

假设有一个我想贡献的GitHub存储库。我将该存储库fork到我的GitHub帐户中,然后从我的PC帐户中克隆fork。很好。在处理问题之前,我首先想将我的复刻与“原始”存储库同步。我转到我的帐户fork,单击NewPullrequest,确保我选择我的作为base和原始master作为headfork,我看到了差异(人们在原始存储库中所做的所有提交不在我的).然后我在我的fork上创建pull请求,并将这些更改merge到我的fork中。我转到我的本地存储库并执行gitpull,然后同步了所有内容。很好。现在问题来了,现在在我的GitHub帐户中它总是说“这个分支是X提前提交”,其中

git rebase 交互式 : squash merge commits together

我想要一个简单的解决方案来在交互式rebase期间将两个merge提交压缩在一起。我的仓库看起来像:X---Y---------M1--------M2(my-feature)//////a---b---c---d---e---f(stable)也就是说,我有一个my-feature分支,最近merge了两次,中间没有真正的提交。我不只是想重新设置my-feature分支,因为它是自己的已发布分支,我只是想将最后两个merge提交merge为一个(尚未发布这些提交还)X---Y----M(my-feature)////a---...--f(stable)我试过:gitrebase-p-

混帐推送 : Push all commits except the last one

有没有办法将我所有的本地提交推送到远程存储库除了最近的提交?我想将最后一个保留在本地,以防我需要进行修改。 最佳答案 试试这个(假设你正在使用master分支并且你的远程名为origin):gitpushoriginHEAD^:masterHEAD^指向当前分支中最后一个提交之前的提交(最后一个提交可以称为HEAD)所以这个命令推送这个提交(与所有以前的提交)到远程origin/master分支。如果您有兴趣,可以在thismanpage中找到有关指定修订的更多信息。.更新:我怀疑情况是否如此,但无论如何,如果您的最后一次提交是me

Git:解决Your branch is ahead of ‘origin/master‘ by N commits问题

1如果你想要保留本地当前改动:gitpush-uoriginmaster将自己修改的代码推送到远程仓库的master分支origin/master:一个叫origin的远程库的master分支HEAD指向当前工作的branch,master不一定指向当前工作的branchgitpush的一般形式为gitpushgitpushorigin本地分支A:远程分支B,push本地分支A到远程库origin的分支Bgitpushoriginmaster,远程分支被省略,这表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建origin指定了你要push到哪个r

Git:解决Your branch is ahead of ‘origin/master‘ by N commits问题

1如果你想要保留本地当前改动:gitpush-uoriginmaster将自己修改的代码推送到远程仓库的master分支origin/master:一个叫origin的远程库的master分支HEAD指向当前工作的branch,master不一定指向当前工作的branchgitpush的一般形式为gitpushgitpushorigin本地分支A:远程分支B,push本地分支A到远程库origin的分支Bgitpushoriginmaster,远程分支被省略,这表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建origin指定了你要push到哪个r

清空GitHub仓库的历史提交记录(commits)

各位在github上维护自己编写的代码工程仓库时,想必遇到过仓库内文件泄漏隐私信息、commits泄漏邮箱信息等敏感头疼问题,但是由于这些仓库收获了很多stars,不想删除后重建新仓库。为了解决这些问题,这里有两个办法:方法一:强制回退法1.克隆仓库,但记住不可以加--depth=1这类选项;2.使用gitlog命令查询要回滚的commit_id;3.查找最早一次提交到的commit_id;4.备份原仓库目录下所有文件及文件夹(.git文件夹除外);5.强制还原,执行命令:gitreset--hardcommit_id,之后HEAD就会指向此次的提交记录;6.删除仓库目录下所有文件和文件夹,去