相关疑难解决方法(0)

如何取消删除以前在git历史记录中删除的文件?

在另一个问题上使用Chris的答案,我可以将快照历史记录添加到我的git存储库中.由于其中一个文件不是我的历史记录的一部分,而只是在快照中,因此第一个原始提交现在也包含此文件的删除.我该怎么撤消?

起初我认为这与我如何从git的历史记录中删除敏感文件相反,但实际上我不想将文件插入历史记录,只是从历史记录中删除删除.

git history repository undelete

45
推荐指数
2
解决办法
3万
查看次数

git:在文件中更改一行以获取完整的历史记录

当我开始我的git repo时,我提交了一些文件作为初始提交.现在,很多提交后来,我注意到我在这些文件中包含了一条信息,其中包含我不想发布的信息(与其他代码不同).所以我想删除/更改这一行保留其余的代码.

在我周围搜索我找到了这个解决方案:插入一个空提交作为初始提交(这里描述:在Git中根提交之前插入一个提交?),对它做一个rebase,然后通过修改编辑旧的第一次提交.不幸的是,在rebase期间出现了许多残酷的合并冲突(如下所述:git:解决由rebase引起的冲突).

有没有不同的方法来解决我的问题,或者必须手动变基和编辑所有冲突?

提前致谢 :)

git commit git-amend

38
推荐指数
3
解决办法
8194
查看次数

如何替换git历史文件中的文本?

我一直使用基于接口的git客户端(smartGit),因此对git控制台没有多少经验.

但是,我现在需要在历史记录中替换所有.txt文件中的字符串(因此,不要删除整个文件而只是替换字符串).我找到了以下命令:

git filter-branch --tree-filter 'git ls-files -z "*.php" |xargs -0 perl -p -i -e "s#(PASSWORD1|PASSWORD2|PASSWORD3)#xXxXxXxXxXx#g"' -- --all
Run Code Online (Sandbox Code Playgroud)

我试过这个,不幸的是注意到密码确实发生了变化,所有二进制文件都被破坏了.图像等都会被破坏.

有没有更好的方法来做到这一点,不会破坏我的二进制文件?

谢谢.

编辑:

我搞砸了什么.导致二进制文件损坏的实际代码是:

$ git filter-branch --tree-filter "find . -type f -exec sed -i -e 's/originalpassword/newpassword/g' {} \;"
Run Code Online (Sandbox Code Playgroud)

顶部的代码实际上使用我的密码奇怪地删除了所有文件.

git version-control substitution git-filter-branch git-rewrite-history

35
推荐指数
5
解决办法
1万
查看次数

如何正确删除推送到Git仓库的敏感数据?

我错误地将包含密码的文件推送到我的仓库 - 仅供参考,回购只是一个小型的个人项目.

一旦我意识到密码存在,我就将文件添加到.gitignore并执行git rm -r --cached <filename>,提交并推送到回购.

我现在意识到密码仍然存在于历史记录中 - 删除它的最佳方法是什么?

我在Github上阅读了删除敏感数据页面,建议更改密码 - 我已经完成了 - 但我也想删除历史记录.

git github

32
推荐指数
2
解决办法
1万
查看次数

如何将代码推送到Github隐藏API密钥?

我想将一些代码推送到我的GitHub存储库.这些代码是在像不同的语言Javascript,Java,Python等某些代码包含了一些私人API,我不想公布关键.

有没有办法自动隐藏它?我应该手动将其从我的代码中删除吗?

我想推动很多项目.因此,手动删除不是一个好选择.

git github api-key

30
推荐指数
4
解决办法
2万
查看次数

从git历史记录中删除文件 - 错误的修订错误

我按照Github上的说明(https://help.github.com/articles/remove-sensitive-data/)来整理一个混乱的存储库.我已成功清除所有.csv文件

git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch *.csv' \
--prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

现在需要删除所有.docx文件.但是,当我使用与*.docx完全相同的命令时,我收到一条错误消息: fatal: bad revision ' --prune-empty'

我在github上推送到了原点,并在进行第二次更新之前克隆了一份新的副本.我不确定我做错了什么/不同导致这个错误.任何帮助非常感谢:)

git

27
推荐指数
4
解决办法
7751
查看次数

如何将过去添加到git存储库?

我收到了一些源代码并决定使用git,因为我的同事使用了mkdir $VERSION等方法.虽然代码的过去目前似乎并不重要,但我仍然希望将其置于git控制之下以更好地理解开发过程.所以:

将这些过去的版本放入我现有的git仓库的简便方法是什么?目前没有远程仓库,所以我不介意重写历史记录,但考虑到远程存储库的解决方案当然是首选,除非它更复杂.基于目录或基于档案文件的历史记录,不需要任何更多交互的脚本的加分点.

git

25
推荐指数
1
解决办法
3927
查看次数

如何从GitHub中删除悬空提交?

昨天,我在GitHub上推送了ConnectBot的分支.我推了一次,意识到我没有按照我想要的方式进行更改,重新提交并再次推送.

现在,GitHub都提交了两个提交:

我的主分支只跟踪第二次提交,但第一次提交仍然可用,仍然在我的活动源中.如何删除它以确保没有人意外地提取该提交而不是更正的版本?

git github git-dangling

25
推荐指数
2
解决办法
4987
查看次数

Git - 从历史记录中删除提交

我做了一件非常愚蠢的事.我在代码中输入了一个curseword,然后将代码推送到master分支上.之后我又推了几次,所以人们不会把坏东西拉出来,但我仍然可以在提交历史中找到这个诅咒词.

有没有办法从历史记录中删除提交?编辑:我不想将文件添加到gitignore,因为我们需要该文件.

谢谢

git git-commit

23
推荐指数
4
解决办法
9780
查看次数

git意外包含密码..我怎么解决它?

在提交时,我不小心包含了密码.如何从存储库中删除此提交?

推送到了github,所以提交从历史中完全删除是很重要的.

git github

16
推荐指数
2
解决办法
2840
查看次数