2014-10-27 77 views
1

我无法准确理解.gitignore文件的工作原理。关于gitignore文件跟踪的困惑

说我有以下的.gitignore:

/db/*.sqlite3 
/log/*.log 
/public/uploads/* 

在所有我的电脑,我有一个文件/db/development.sqlite3

我的问题是:

  1. 如果该文件已经在存储库中,每次我将git拉出来时,它是否会将回购版中的版本拉低?

  2. gitignore文件中的文件是否需要在所有系统上进行未跟​​踪以便不会从存储库中拉出或推出?

  3. 如果我决定在事后添加另一行/ tmp/**/*到我的gitignore,我是否需要进入每个工作站/活动服务器来解压文件?我还需要推一个版本具有回购的/ tmp/**删除?**

回答

1

如果该文件已经在库中,将它的每一次拉下的回购我的版本git拉?

不要在gitignore文件文件需要未经跟踪的所有系统上,为了不拉或推或从回购?

  • 只要您下载更改并将其合并到当前分支中,就不需要这样做。如果你不这样做,你可能会遇到一些错误

如果我决定在事后添加另一行/ tmp/**/*到我的gitignore,是否需要进入每个工作站/实时服务器解开文件?我是否需要将版本推送到已删除/ tmp/**的回购版** **

  • 第一部分回答如上。你需要将这个新版本的版本删除
+0

所以基本上,对于我想忽略的任何文件或目录,如果它已经被提交,或者在repo中,我只需要运行'git rm'在那个文件或目录上? – sabrams 2014-10-27 16:49:43

+0

是的。这应该工作。我曾经有过这种情况,但总是很乱。你必须小心,并检查一个分支不覆盖其他任务做了什么,因此最终该文件不会被忽略......但经过几次尝试,你会得到它的工作。或者可能在第一次尝试,谁知道... – iberbeu 2014-10-27 16:54:44