从github存储库中删除文件,但不在本地删除

时间:2013-12-20 22:26:58

标签: git github gitignore

所以这是我的存储库:https://github.com/quinnliu/WalnutiQ

我添加了.gradle&构建/到我的.gitignore文件。但是,当我推送此更改时,我想从我的存储库中删除.gradle文件和build /文件夹,而不是本地。我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

使用git rm --cached从索引中删除文件,但不从工作树中删除。提交,然后推送。

请注意,它们仍将保留在您的提交历史记录中。完全从历史中删除它们是另一个更复杂的问题。


$ git clone https://github.com/quinnliu/WalnutiQ.git
$ cd WalnutiQ
$ git rm -r --cached build .gradle
$ ls -a
...
build
...
.gradle
...
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    .gradle/1.10/taskArtifacts/cache.properties
#       deleted:    .gradle/1.10/taskArtifacts/cache.properties.lock
#       deleted:    .gradle/1.10/taskArtifacts/fileHashes.bin
#       deleted:    .gradle/1.10/taskArtifacts/fileSnapshots.bin
#       deleted:    .gradle/1.10/taskArtifacts/outputFileStates.bin
#       deleted:    .gradle/1.10/taskArtifacts/taskArtifacts.bin
#       deleted:    build/libs/WalnutiQ.jar
#       deleted:    build/tmp/jar/MANIFEST.MF
#

答案 1 :(得分:0)

.gradle上添加.gitignore之后,我就使用

git rm -r .gradle

清理我的存储库。

我可以再次在Android Studio上同步gradle,它将在本地上创建新的.gradle,而无需推动git。