Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gitignore在提交、推送或到达服务器时起作用吗?_Git_Gitignore - Fatal编程技术网

gitignore在提交、推送或到达服务器时起作用吗?

gitignore在提交、推送或到达服务器时起作用吗?,git,gitignore,Git,Gitignore,假设我有一个.gitignore来忽略所有.class文件 当 我是否在本地提交/添加文件?当使用add/commit时,mygit是否查找.gitignore,并根据它所说的内容从提交中删除内容 我推我的车?gitgit是否只推送.gitignore中未描述的文件 它到达原点了吗?保存git存储库的服务器是否基于它的.gitignore 我是否在本地提交/添加文件 对。.gitignore一旦存在,就会应用于所有尚未添加到索引的文件。 如果已将被忽略的文件添加到索引中(在创建/更新.git

假设我有一个
.gitignore
来忽略所有
.class
文件

  • 我是否在本地提交/添加文件?当使用add/commit时,my
    git
    是否查找
    .gitignore
    ,并根据它所说的内容从提交中删除内容

  • 我推我的车?
    git
    git是否只推送
    .gitignore
    中未描述的文件

  • 它到达原点了吗?保存git存储库的服务器是否基于它的
    .gitignore

我是否在本地提交/添加文件

对。
.gitignore
一旦存在,就会应用于所有尚未添加到索引的文件。
如果已将被忽略的文件添加到索引中(在创建/更新.gitignore之前),则该文件将成为提交的一部分。您需要首先手动删除它:
git rm--cached--afileToIgnore

不要忘记添加并提交
.gitignore
文件本身,因为这些忽略规则不仅在本地repo上有效,而且在该repo的任何克隆上也有效

git git是否只推送未在.gitignore中描述的文件

是,除非该文件是在
.gitignore
之前添加的,或者是强制添加的。
git add--force--afile会将一个文件添加到索引中,即使它应该被忽略

保存git存储库的服务器是否基于它的
.gitignore

否:服务器只需将
.gitignore
添加到repo,而不会对其他版本的文件产生任何副作用

我是否在本地提交/添加文件?当使用add/commit时,我的git是否会查找.gitignore,并根据它所说的内容从提交中删除内容

根据中表示的规则忽略文件和目录。不关心你的
.gitignore
。它使用已由
git add
git rm
(以及其他
git
命令)准备的信息在本地存储库中创建一个新的提交

是可用于删除文件并将其记录到要停止跟踪的索引中的命令。如果已经从工作树中删除了文件,还可以使用
git add
将其删除记录到索引中

我推我的车?git git是否只推送未在.gitignore中描述的文件

也不关心你的
.gitignore
,因为它不处理文件。它将本地存储库中已经存在的信息发送到远程存储库。如果您要忽略的文件已经存在,那么它也将转到远程存储库

如果存储库中有文件,并且希望不再跟踪这些文件,则必须将其名称(或与其名称匹配的通配符)添加到
.gitignore
中,并使用
git rm
将删除请求添加到索引中,以便在下次提交时处理

不会删除存储库中已存在的文件(本地和远程)的版本。您必须为此重写历史记录,但不建议在多人使用的存储库上重写历史记录

它到达原点了吗?保存git存储库的服务器是否基于它的.gitignore来屏蔽文件


您推送的提交中的所有内容都会到达远程存储库。但是为了让
git
尊重
.gitignore
当你的同事在他们的计算机上签出项目时,你必须将
.gitignore
文件添加到存储库中;和提交,当然,还有推送,让
.gitignore
文件找到它们的系统。没有“my
.gitignore
”和“its
gitignore
”。必须将
.gitingore
文件添加到存储库中(并在每次更改时提交),以便对每个人都有效。

git status
也尊重被忽略的文件。但是除此之外,没有别的了。我想,
git add
可以进行文件删除,但是,当文件被跟踪但从磁盘中丢失时。@jpmc26你是对的,
git add
将进行文件删除。我更新了答案。