我试图让git忽略我的一些文件,我找到了一个关于你如何做到这一点的描述
从:http://github.com/guides/git-cheat-sheet 到IGNORE的一些文件
在名为.gitignore的根目录中添加一个文件并向其中添加一些文件:(注释以哈希开头)*.log db/schema.rb db/schema.sql
Git自动忽略空目录.如果您想拥有一个日志/目录,但想要忽略其中的所有文件,请将以下行添加到根.gitignore :(以'!'开头的行是例外)
log/*!.gitignore
然后在空目录中添加一个空的.gitignore:
触摸日志/ .gitignore
所以我在我的项目文件夹中创建了一个名为.gitignore的文件,并在其中写了以下内容:
phpMyAdmin/*
nbproject/*
inc/mysql_config.php
!.gitignore
Run Code Online (Sandbox Code Playgroud)
但是当我提交时,文件会从提交中排除...
我希望从远程存储库中删除文件而不从本地副本中删除文件.有没有办法在git中这样做?
原因是:我正在进行早期项目.我提交了一些不应该在存储库中的文件,所以我将这些文件添加到了.gitignore.如果我从本地副本中删除这些文件,该程序将无法正常工作.
感谢大家.这个问题是重复" 从Git存储库中删除文件而不从本地文件系统中删除它 "
我和其他几个人都可以访问包含 IDE 自动生成的一个文件的存储库。该文件是特定于 PC 的,因此不应位于源代码管理中,但目前是。我想删除它并将其添加到.gitignore,但我不希望其他协作者在拉取我的更改时将其删除。关于删除文件但保留本地副本存在很多问题;但他们不覆盖其他用户,所以当他们拉动时,尽管我保留了我的副本,他们仍然会丢失副本:
还有一些问题和解决方案,可以在拉取时不丢失本地文件,这样他们就可以保留文件,但这需要拉取时的明确操作,我不想去告诉每个人到底如何拉取这个文件时间。我确实发现了两个重复的问题。得到的答案是不可能,但那都是 5 年前的事了——这期间有什么变化吗?
这很重要,因为该文件是在您首次导入整个项目时自动生成的,并且包含有关本地编译器/库版本的信息。所以删除它需要重新导入。如果有什么区别的话,那就是.idea/scala_compiler.xmland .idea/scala_settings.xml(实际上整个.idea目录应该被忽略)。基本上我想让 Git 将一个文件设置为不再跟踪,但不为任何人删除它。
这个问题试图消除关于追溯应用 .gitignore 的混淆,而不仅仅是现在/未来。1
我一直在寻找一种方法来追溯强制执行我当前的 .gitignore ,就像我在第一次提交中创建了 .gitignore 一样。
我正在寻求的解决方案:
*.ext
!*special.ext
Run Code Online (Sandbox Code Playgroud)
git rm --cached *.ext
git commit
Run Code Online (Sandbox Code Playgroud)
这需要 1. 手动指定文件和 2. 附加提交,这将导致在其他开发人员拉取时删除新忽略的文件。(它实际上只是一个git rm- 这是从 git 跟踪中删除- 但它会将文件单独留在本地(您的)工作目录中。 之后其他人git pull将收到文件删除提交)
git filter-branch --index-filter 'git rm --cached *.ext' …Run Code Online (Sandbox Code Playgroud) 我的.gitignore文件包含以下行:
xcuserdata/**/*
!xcuserdata/**/xcschemes/*
Run Code Online (Sandbox Code Playgroud)
但仍会跟踪以下文件
/MyApp/MyApp.xcodeproj/xcuserdata/colas.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
为什么会这样?我该如何解决这个问题?
PS:如果有的话MyApp.xcodeproj/xcuserdata/colas.xcuserdatad/xcdebugger,文件会被忽略.但我不明白为什么没有这个"黑客"就不会忽视它们.
与其中一个答案所说的相反,即模式
xcuserdata/**/*
!xcuserdata/**/xcschemes/*
Run Code Online (Sandbox Code Playgroud)
工作!!! 我的意思是,/xcschemes跟踪下的文件.
另请参阅Gcode忽略文件的Xcode项目,我在这里得到这个.gitignore文件.
我的Git版本是1.8.3.4 (Apple Git-47).
当我git check-ignore这个文件时,这就是我得到的
fatal: Not a git repository (or any of the parent directories): .git
Run Code Online (Sandbox Code Playgroud)
但事实是父目录是一个git目录......
当我git check-ignore --no-index --这个文件时,这就是我得到的
[MT] PluginLoading: Required plug-in compatibility UUID 37B30044-3B14-46BA-ABAA-F01000C27B63 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeSnippetsHelper.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2014-02-10 10:03:50.856 xcodebuild[1496:d07] XcodeColors: load (v10.1) …Run Code Online (Sandbox Code Playgroud) 开始尝试使用git.无意中将项目中的所有文件添加到了团队资源管理器中的"包含的更改".我在最初的提交中承诺了所有.其中一个文件是SQL CE 4.0(基于文件)数据库.我明显在那里搞砸了.我不想跟踪数据库,也不想最终将数据库恢复到以前的某个点.
我的问题是我不知道如何将SQL CE 4.0 sdf文件从包含的更改移动到未跟踪.我对git没有经验,迄今为止我所知道的是团队资源管理器UI中提供给我的东西.
那么,如何将文件从(已提交和)跟踪移动到未跟踪?在成功操作结束时,我希望将sdf文件放在"未跟踪"的bin中,并希望将其从已经被推送到远程仓库的提交中删除.我只是不确切地知道从哪里开始和做什么
在我提交所有内容后,我将.gitignore添加到我的项目中。现在我想运行如下命令:
git rm --cached *everything_listed_in_gitignore*
Run Code Online (Sandbox Code Playgroud)
如何做到这一点?先感谢您。
事实上,我读了很多关于 git 的东西。
我知道我可以通过命令删除缓存,但我无法理解git-cachegit rm --cached .的概念。
什么是缓存?而GIT中的缓存位置又在哪里呢?该缓存是存储在 RAM 中还是文件中?git 中使用缓存来提高性能吗?
缓存中存储了什么?
因此,一个配置文件以某种方式进入了我们不想要的 git 存储库。但我们确实希望在我们的个人系统上使用它。
当我们的团队成员执行拉取操作时,有没有办法将文件从存储库中取出,而不会导致文件从单个存储库中删除?
非常感谢!
我添加并提交了一个错误的文件夹.修复.gitignore文件后,我需要从存储库中删除这些文件,但我不希望git pull在服务器上运行时删除这些文件.
我已经尝试了--cached这里建议的标志从Git存储库中删除文件而不从本地文件系统中删除它
但它只是不起作用.我删除了该文件rm --cached file.我承诺被删除的事实.但是当git pull它从服务器中删除该文件时.
更新示例:SF2参数文件(应忽略,因为它因机器而异)
app/config/parameters.yml - .gitignore中应忽略的文件git pull在服务器上执行时,不应删除该文件.服务器是指存储库的克隆,而不是存储库本身.它只是克隆了存储库的另一台机器
更新简短说明:
让我们考虑repo-server | local-machine | deploy-server..我想通过local-machine存储库中的一些文件删除(如果另一个local-machine-2 git clone存储库它没有获取这些文件),但是当我更新deploy-server通道时git pull我不希望从存储库中删除这些文件deploy-server