.gitignore 是否在提交、推送或到达服务器时起作用?
Does .gitignore work on commit, push, or upon reaching the server?
假设我有一个 .gitignore
来忽略所有 .class
个文件。
当...
时,这些文件是否保留在远程源之外?
我 commit/add 我的文件在本地?当使用 add/commit 时,我的 git
是否会寻找 .gitignore
,并根据它所说的从提交中删除内容?
我推送我的提交? git
git 是否仅推送 .gitignore
中未描述的文件?
到达原点了吗?持有 git 存储库的服务器是否根据它的 .gitignore
保留文件?
I commit/add my files locally?
是的。 .gitignore
一旦存在就会应用,适用于所有尚未添加到索引中的文件。
如果一个被忽略的文件已经被添加到索引中(在 .gitignore created/updated 之前),那么该文件 将成为提交 的一部分。您需要先手动将其删除:git rm --cached -- afileToIgnore
不要忘记添加并提交 .gitignore
文件本身,因为这些忽略规则不仅对您的本地存储库有效,而且对该存储库的任何克隆也有效。
Does git git only push files that aren't being described in the .gitignore?
是,除非该文件是在 .gitignore
之前添加的,或者是强制添加的。
git add --force -- afile
会将文件添加到索引,即使它应该被忽略。
Does the server that is holding the git repository keep out files based on it's .gitignore
?
否:服务器只会将 .gitignore
添加到 repo,不会对其他版本文件产生任何副作用。
I commit/add my files locally? Does my git look for a .gitignore when add/commit is used, and based on what it says, removes things from the commit?
git add
ignores files and directories based on the rules expressed in .gitignore
. git commit
不关心你的 .gitignore
。它使用 git add
和 git rm
(以及其他 git
命令)已经准备好的信息到索引中,在本地存储库中创建一个新的提交。
git rm
是您可以用来删除文件并将其记录到要停止跟踪的索引中的命令。如果您已经从工作树中删除了该文件,您还可以使用 git add
将其删除记录到索引中。
I push my commits? Does git git only push files that aren't being described in the .gitignore?
git push
也不关心您的 .gitignore
因为它不适用于文件。它将本地存储库中已存在的信息发送到远程存储库。如果您要忽略的文件已经存在,那么它也会转到远程存储库
如果您在存储库中有文件并且您希望不再跟踪它们,您必须将它们的名称(或匹配它们名称的通配符)添加到 .gitignore
和 使用 git rm
将删除请求添加到索引中,以便在下一次提交时处理。
存储库(本地和远程)中已存在的那些文件的版本不会被删除。您必须为此重写历史记录,但不建议在多人使用的存储库上重写历史记录。
It reaches the origin? Does the server that is holding the git repository keep out files based on it's .gitignore?
您推送的提交中的所有内容都会到达远程存储库。但是为了让 git
在您的同事在他们的计算机上签出项目时尊重 .gitignore
,您必须将 .gitignore
文件添加到存储库;并提交和推送,当然,让 .gitignore
文件找到进入他们系统的方式。没有"my .gitignore
"和"its gitignore
"。 .gitingore
文件必须添加到存储库(并在每次更改时提交)以便对每个人都有效。
假设我有一个 .gitignore
来忽略所有 .class
个文件。
当...
时,这些文件是否保留在远程源之外?我 commit/add 我的文件在本地?当使用 add/commit 时,我的
git
是否会寻找.gitignore
,并根据它所说的从提交中删除内容?我推送我的提交?
git
git 是否仅推送.gitignore
中未描述的文件?到达原点了吗?持有 git 存储库的服务器是否根据它的
.gitignore
保留文件?
I commit/add my files locally?
是的。 .gitignore
一旦存在就会应用,适用于所有尚未添加到索引中的文件。
如果一个被忽略的文件已经被添加到索引中(在 .gitignore created/updated 之前),那么该文件 将成为提交 的一部分。您需要先手动将其删除:git rm --cached -- afileToIgnore
不要忘记添加并提交 .gitignore
文件本身,因为这些忽略规则不仅对您的本地存储库有效,而且对该存储库的任何克隆也有效。
Does git git only push files that aren't being described in the .gitignore?
是,除非该文件是在 .gitignore
之前添加的,或者是强制添加的。
git add --force -- afile
会将文件添加到索引,即使它应该被忽略。
Does the server that is holding the git repository keep out files based on it's
.gitignore
?
否:服务器只会将 .gitignore
添加到 repo,不会对其他版本文件产生任何副作用。
I commit/add my files locally? Does my git look for a .gitignore when add/commit is used, and based on what it says, removes things from the commit?
git add
ignores files and directories based on the rules expressed in .gitignore
. git commit
不关心你的 .gitignore
。它使用 git add
和 git rm
(以及其他 git
命令)已经准备好的信息到索引中,在本地存储库中创建一个新的提交。
git rm
是您可以用来删除文件并将其记录到要停止跟踪的索引中的命令。如果您已经从工作树中删除了该文件,您还可以使用 git add
将其删除记录到索引中。
I push my commits? Does git git only push files that aren't being described in the .gitignore?
git push
也不关心您的 .gitignore
因为它不适用于文件。它将本地存储库中已存在的信息发送到远程存储库。如果您要忽略的文件已经存在,那么它也会转到远程存储库
如果您在存储库中有文件并且您希望不再跟踪它们,您必须将它们的名称(或匹配它们名称的通配符)添加到 .gitignore
和 使用 git rm
将删除请求添加到索引中,以便在下一次提交时处理。
存储库(本地和远程)中已存在的那些文件的版本不会被删除。您必须为此重写历史记录,但不建议在多人使用的存储库上重写历史记录。
It reaches the origin? Does the server that is holding the git repository keep out files based on it's .gitignore?
您推送的提交中的所有内容都会到达远程存储库。但是为了让 git
在您的同事在他们的计算机上签出项目时尊重 .gitignore
,您必须将 .gitignore
文件添加到存储库;并提交和推送,当然,让 .gitignore
文件找到进入他们系统的方式。没有"my .gitignore
"和"its gitignore
"。 .gitingore
文件必须添加到存储库(并在每次更改时提交)以便对每个人都有效。