8

我有带有 git 和本地开发机器的远程服务器。我不需要从服务器上的工作目录中发送一些文件,而是将其保留在本地 git 的版本控制中。假设我的本地开发机器上有以下文件。

assets
   |-css
   |-js
compiles
   -css
   -js
index.html

所有文件都在版本控制中,但是当我需要推送时,我不希望它用于“资产”文件夹。我怎样才能做到这一点?

编辑: 让我解释一下情况。我是一个单一的开发人员,我将我的aseets文件连接并最小化到编译文件夹中。所以我不需要推送资产文件夹,因为生产代码使用编译。

4

5 回答 5

4

简单的答案是不,当您将 repo 从 local 推送到 remote 时,您不能在给定分支上拥有不同的文件集

像其他人提到的那样,您应该能够使用将目录完全.gitignore排除在assets版本控制之外(在本地和远程存储库上):

# Your repo's .gitignore
/assets/*
于 2013-03-04T06:54:00.143 回答
4

我找到了2个答案:

  1. 对于一些文件:
    git update-index --assume-unchanged FILE

  2. 信用:hackernoon.com

可以将文件或文件夹添加到 : 中,而不是使用 .gitignore 将其从所有版本控制中删除.git/info/exclude

如果想将所有 repo 从 repo 拉到本地或另一台服务器(如登台),则可以制作另一个本地克隆,但没有本地/exclude,因此它将抓取所有内容。

于 2018-08-06T16:05:40.757 回答
3

您可以编辑.gitignore. 如果您只想在本地工作。你可以.git/info/exclude这样编辑

.git/信息/排除

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
./assets/*

或者

.gitignore

./assets/*
于 2013-03-04T06:49:22.180 回答
0

您可以使用 .gitignore 选择您不想将其推送到 git 服务器的内容。

只需放入.gitignore您的根文件夹并添加./assets/*到此文件中。

您可以查看https://help.github.com/articles/ignoring-files了解更多信息

于 2013-03-04T06:47:37.400 回答
0

在我看来,这个案例可以分为两个git项目:1.assets 2.others

于 2018-05-25T05:56:13.810 回答