【问题标题】:Cancelling git push and ignore additional folder取消 git push 并忽略其他文件夹
【发布时间】:2013-02-23 21:20:41
【问题描述】:

我想取消 git push。 我已经用cntrl + C 命令完成了它。我将 --mixed 重置为我的旧状态。 将忘记的目录添加到我的 gitignore 文件中, 但是当我再次执行git push 时,它仍然会尝试发送被忽略的文件夹。 有任何想法吗?

【问题讨论】:

  • push 不发送文件夹,它发送提交。
  • 我的意思是提交的文件夹。 push -f 对我不起作用
  • 它发送已提交的文件夹,因为该文件夹已提交。你有什么问题?
  • 我通过重置取回提交。将文件夹添加到 gitignore 并且文件夹不再处于 git 状态,但是当我再次提交并推送时,它仍会尝试从上次取消推送的左侧继续进行
  • git reset --mixed 不会重置提交。顺便说一句,--mixed 是默认值。你为什么要看状态? push 不关心状态,只关心提交,正如我已经说过的。

标签: git gitignore git-commit


【解决方案1】:

如果在旧状态下(git reset 之后),文件夹(及其内容)仍然是索引的一部分(仍然被 git 状态列为“正在添加”,准备提交),那么您需要将它们从索引中删除。

git rm --cached -r /patH/to/folder

如果您不这样做,.gitignore 文件中的指令将被忽略,并且下一次提交将再次包含该文件夹。

【讨论】:

    【解决方案2】:

    实际找到方法...

    git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch ' --prune-empty -- --all

    【讨论】:

    • 有趣,比我的回答更完整。 +1
    猜你喜欢
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 2022-11-16
    • 2014-05-06
    • 2018-06-25
    相关资源
    最近更新 更多