我的存储库中有一些文件应该被忽略,我将它们添加到.gitignore中,当然,它们不会从我的存储库中删除.
所以我的问题是,是否有一个使用filter-branch的魔术命令或脚本可以重写我的历史记录并轻松删除所有这些文件?或者只是一个命令,它将创建一个将删除它们的提交?
我正在将此添加到.gitignore文件中
.idea/*
Run Code Online (Sandbox Code Playgroud)
但无论如何,状态是:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?我甚至将.idea/*添加到全局〜/ .gitignore_global 但git状态,无论如何向我显示:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
Run Code Online (Sandbox Code Playgroud) 我的.gitignore文件由于某种原因无法正常工作,并且没有任何谷歌搜索能够修复它.这是我有的:
*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
Run Code Online (Sandbox Code Playgroud)
它在目录中master,这是我的git repo.我正在运行Git 1.8.4.2因为我在MacBook上运行OSX 10.8.6.
我有一个在Github上托管的git存储库.提交许多文件后,我意识到我需要创建.gitignore和排除.exe,.obj文件.
但是,它会自动从存储库中删除这些提交的文件吗?有没有办法强制这样做?
更新gitignore文件后是否可以"刷新"git存储库?
我刚刚向我的gitignore添加了更多的ignorations(?),并希望删除与新文件匹配的repo中的内容.
我希望git停止在我们的存储库中跟踪我的本地开发日志(log/development.log).这可能吗?我该怎么办?
我创建了一个包含在git存储库中的文件的默认版本.重要的是,当某人克隆存储库时,他们会获得此文件的副本.但是,我想设置git,以便稍后忽略对此文件的更改. .gitignore仅适用于未跟踪的文件.
我的动机是这个文件包含机器特定的信息.我想提供默认值,同时允许人们进行不会被推回原始存储库的本地更改,从而在我们提取新更改时创建合并冲突.
我们通常非常懒惰并且使用git add .很多,所以我很确定如果我不能告诉git忽略这个文件,对它的更改将最终得到提交和推送.
总结一下,
default_values.txt添加到我的git存储库,并在有人克隆该存储库时包含该文件.git add .不应该添加default_values.txt到提交.在我的项目的根目录中,我有一个foo文件夹.在foo文件夹里面我有一个bar文件夹.我想忽略对我bar文件夹中所有文件的所有更改.我有这个gitignore:
/foo/bar
Run Code Online (Sandbox Code Playgroud)
检查文件夹:它存在并且具有要忽略的文件.gitignore是commit特德.但是,我有一个文件,我在那里做了一个moification,并在我的bar文件夹中.当我输入
git status
Run Code Online (Sandbox Code Playgroud)
在我的内部,我git bash看到应该被忽略的文件.可能是什么原因以及如何成功忽略栏文件夹中的所有文件?
请注意,以前使用相同的行忽略了这些文件,但我必须暂时将该行删除到commit服务器上的某些内容.之后commit,我把线放回去了gitignore.这是不久前,但现在我已经观察到文件将在git status.我希望能够修改被忽略的文件,而不会出现在git status.
我在我的git repo中有一个tmp目录我想仍然存在,但是被忽略了.我添加了它.gitignore,但git status仍然告诉我有关该目录中文件的更改.我试过了git rm -r --cached,但是它将它从远程仓库中删除了.如何停止跟踪对此目录的更改,但仍然允许它存在?我还需要1个文件做到这一点,但变化是,在也出现git status之后.gitignore荷兰国际集团他们.我该怎么办?
git 1.7.12
我想将给定目录下的所有文件标记为假设未更改.
1)git update-index --assume-unchaged dir/给出"忽略路径".
2)git update-index --assume-unchaged dir/*快速失败,因为它会遇到未被跟踪的文件,因此它给出"致命:无法标记文件"并退出.
3)尝试生成要标记的文件列表. cd进入所需目录然后运行git ls-files | tr '\n' ' ' | git update-index --assume-unchanged.这不会产生任何错误消息,但不会成功标记文件.命令的第一部分git ls-files | tr '\n' ' '正确生成了我要标记的所有文件的空格分隔列表.如果我将该命令的输出复制并粘贴到命令行,则该git update-index命令有效.什么不使用管道?
不,我添加dir到.gitignore 是不够的.我需要将这些文件放在存储库中,但是需要在本地进行不需要的更改,以便用户可以进行拉取.