只推送某些文件一次
Only push certain files once
我有一个 git 服务器存储库。
该服务器需要一些文件,但这些文件只需推送一次。
因此,当有人编辑它时,不必将其推送到 github,但当有人下载存储库时,他们应该得到未编辑的文件。
服务器需要这些文件到运行,但是对于每个人来说这些文件都是不同的,这就是为什么我不希望它再次被推送。
我该怎么做?
这些文件更改应该被 git 远程存储库忽略,因为它们需要本地管理。您必须将这些文件的路径添加到 .gitignore 文件。如果您已经提交并推送了文件的原始版本,当有人克隆存储库时,它将收到原始文件,没有任何本地更改。
How to add gitignore file
How to ignore certain files
如果您还没有提交文件,我会说将文件名添加到您的 .gitignore
文件中,例如:
<filename>.<extension>
所以如果文件是 package.json:
package.json
通配符可以使用 *
*.json
或如 AoeAoe 所述:您可以稍后使用 git add --force
添加文件以否决 .gitignore
文件。
现在,如果你的文件内容只是 10 条配置规则,我会说:用它创建一个模型并将其写在你的 readme.md
中,并指示你的同事创建他们的自己的,否则,您应该遵循更新部分中的建议。
更新: 如 Edward Thompson 所述:.gitignore 不适用于上传的文件 你将被迫使用 git update-index
强制文件不更新:
git update-index --assume-unchanged path/to/file
再次启用更新:
git update-index --no-assume-unchanged path/to/file
最好从索引[1]中删除文件:
git rm --cached <file>
.gitignore 的目的是从不跟踪,也从不首先将文件添加到索引。
[1] Making git "forget" about a file that was tracked but is now in .gitignore
我有一个 git 服务器存储库。 该服务器需要一些文件,但这些文件只需推送一次。 因此,当有人编辑它时,不必将其推送到 github,但当有人下载存储库时,他们应该得到未编辑的文件。
服务器需要这些文件到运行,但是对于每个人来说这些文件都是不同的,这就是为什么我不希望它再次被推送。
我该怎么做?
这些文件更改应该被 git 远程存储库忽略,因为它们需要本地管理。您必须将这些文件的路径添加到 .gitignore 文件。如果您已经提交并推送了文件的原始版本,当有人克隆存储库时,它将收到原始文件,没有任何本地更改。
How to add gitignore file
How to ignore certain files
如果您还没有提交文件,我会说将文件名添加到您的 .gitignore
文件中,例如:
<filename>.<extension>
所以如果文件是 package.json:
package.json
通配符可以使用 *
*.json
或如 AoeAoe 所述:您可以稍后使用 git add --force
添加文件以否决 .gitignore
文件。
现在,如果你的文件内容只是 10 条配置规则,我会说:用它创建一个模型并将其写在你的 readme.md
中,并指示你的同事创建他们的自己的,否则,您应该遵循更新部分中的建议。
更新: 如 Edward Thompson 所述:.gitignore 不适用于上传的文件 你将被迫使用 git update-index
强制文件不更新:
git update-index --assume-unchanged path/to/file
再次启用更新:
git update-index --no-assume-unchanged path/to/file
最好从索引[1]中删除文件:
git rm --cached <file>
.gitignore 的目的是从不跟踪,也从不首先将文件添加到索引。
[1] Making git "forget" about a file that was tracked but is now in .gitignore