如何将代码从本地 git 推送到 git 集线器(不包括媒体文件夹)?

How to push code from local git to github excluding media folder?

我目前正在 windows 上使用本地存储库来保存我的代码。它基本上跟踪工作目录中的所有文件和文件夹。我现在还想在每次出于备份目的在本地提交时将其推送到 github,但排除 public/images 文件夹,因为不需要将图像放在 github 上。我为本地回购做了 git commit -a -m "this locally commits all the files and folder including images",所以我该怎么做才能将其推送到 github 但排除特定文件夹 public/images.

我推送到 github 的方式是

git remote add origin
git remote -v
git push origin master

您可以在您的 repo 根目录中创建一个名为 .gitignore 的文件,并在其中键入您不想推送的目录或文件。

例)

#media
public/images

您必须使用项目文件夹中的 .gitignore 文件。对于您的情况,您可以使用以下模式:

*public/*

这将排除文件夹 "public" 中的所有文件。

或者更具体地说:

***/public/images* 

这将排除父文件夹 "public" 中的文件夹 "images"。


请检查文档:gitignore - Specifies intentionally untracked files to ignore

pushpull 同步存储库及其远程的提交历史记录。无法过滤掉某些文件或目录(这应该如何处理,例如,影响忽略和非忽略目录中的文件的提交?)。

如果那是您想要的,听起来 public/images 可能是一个完全不同的存储库。这可能是一个 git 子模块(这意味着主存储库仍会在其历史记录中跟踪子模块的提交 ID,但不需要发布子模块本身)或者通过在 public/images 并将其添加到 .gitignore 作为其他答案所建议的主要回购。