我正在使用Rails,Capistrano宝石和git。很久以前,我初始化了git,并在.gitignore文件中声明如下:
.bundle
db/*.sqlite3
log/*.log
tmp/有一天,我在RoR应用程序的RoR目录:/public/users/...中创建了一个子目录。现在,在后一个目录中,我有以下文件系统结构:
/public/users/001/file1.png
/public/users/001/file2.png
/public/users/001/file3.png
...
/public/users/002/file1.png
/public/users/002/file2.png
/public/users/002/file3.png
...
...此时,git正在跟踪/public目录中的所有文件,包括/public/users/中的所有目录和文件。因此,当我使用Capistrano进行部署时,所有这些都将在远程计算机上进行更新。
我想要做的是不再跟踪public/users目录、子目录和文件(在我的本地计算机上),这样远程机器上的目录、子目录和文件就不会被更新。也就是说,我想使我在使用Capistrano部署时,所有与public/users相关的内容(在远程机器上)都保持不变。
,我该怎么做?
P.S.:我读了很多其他的问题和答案(例如:1,2,.)但他们似乎都不适合我。
我几乎肯定必须将以下文本行添加到.gitignore文件中:
# Ignoring "public/users/" directories, sub-directories and files
public/users/然后(如果上面的代码是有效的)我该怎么办?
发布于 2011-09-15 06:55:08
试着把所有与用户相关的文件放在一个文件夹中,比如说系统,然后你可以把public/system/*.*放在git中忽略。那么您的dir结构将是:
public
->404.html
->js.../..,..,..
->css ../..,..,..
->system
->users
->1/something
->2/something
->some-other-user-related-info另外,为什么需要将与开发相关的文件放到git中,然后放到服务器上呢?没有意义..。所以不要这么做..。它会无缘无故地增加你的回购规模。
由于您使用的是capistrano,所以您的服务器dir结构如下所示:
APP
->Current
->releases
->shared您的公共/系统文件夹将一直指向共享/系统
案例1:用户中的文件/未提交,将所有与用户相关的文件放在.gitignore中
案例2:如果文件已被提交,请执行git删除,然后提交,然后将其添加到.git忽略
https://stackoverflow.com/questions/7426883
复制相似问题