【问题标题】:Android Studio version control keeps adding build dir to commitsAndroid Studio 版本控制不断向提交添加构建目录
【发布时间】:2017-11-14 06:38:03
【问题描述】:

所以当我进行提交时,我必须从提交中取消选中 app/build 目录。我想从跟踪中删除这些文件。

我的.gitignore 文件看起来正确吗?

build/
app/build/
.idea
.gradle

我试过了

git rm -r --cached .
git add .

这似乎有效,git status 显示所有构建文件已被删除。然后我做了一个提交,文件被删除了。但是在构建和文件更改之后,它们会出现在我的下一次提交中。为什么会这样,为什么我不能取消跟踪这些文件?

【问题讨论】:

  • “但是在构建和更改文件之后,它们会出现在我的下一次提交中。” - 你能显示你用来进行下一次提交的确切步骤吗?每个动作之间的git状态输出?
  • 运行git reset HEAD 似乎已经解决了这个问题。我很好奇为什么如果有人知道(在下面的答案 cmets 链接的页面中建议)

标签: android git android-studio intellij-idea


【解决方案1】:

看起来build 目录已在索引中。 使用

git rm -r --cached . 
git add .

删除未跟踪的文件,然后提交更改。

但最好从历史记录中删除文件:

git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <path-to-build-dir>' --prune-empty -f -- --all

但在这种情况下,您还必须使用强制推送来更新服务器历史记录。

【讨论】:

  • 知道为什么git update-index ... 会产生fatal: Unable to mark file build吗?
  • 请尝试包含构建目录的完整路径
  • 这是一个完整的参考:stackoverflow.com/questions/12920652/…
  • 是的尝试使用完整路径来构建目录相同的结果。甚至尝试使用单个文件的完整路径。结果相同。
  • @1615903 你说得对,我错了。我修复了命令以解决它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-18
  • 2011-09-02
  • 2019-12-09
  • 2015-07-13
  • 2017-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多