我看过几篇关于如何从所有 git 历史记录中删除单个文件的文章和问题。示例:如何从 Git 存储库的提交历史记录中删除/删除大文件?
\n我想要做的是删除当前不存在于 master 分支头部的所有文件。
\n我的用例是,我small
从一个整体存储库(称为 )中分离出一个较小的存储库(称为monolith
)。我想在创建时保留 git 历史记录small
,但仅保留相关的git 历史记录。
首先,我small
在 GitHub 上创建了一个新的存储库。然后,在我的笔记本电脑上,我将其作为远程名称添加origin-small
到我的本地monolith
存储库中,并将 master 分支的当前状态推monolith
送到origin-small
。
origin-small
然后,我从 中删除了远程monolith
,更改了目录,并small
从 GitHub 进行了克隆。Voil\xc3\xa0,我有一份原始存储库的副本,monolith
及其完整的历史记录。
但是,历史上有大量文件small
不再相关,并且它们使存储库变得臃肿。
我想做的是:
\nsmall
。有没有办法用一个命令来做到这一点?或者我是否需要git filter-branch
为每个要删除的文件/目录运行一次?
我有一个简单的 Angular 单页应用程序,我正在尝试使用 Nginx docker 映像版本 1.17.1 来提供该应用程序。
在 my 中Dockerfile
,我构建并打包 Angular,然后将生成的文件复制到 nginx 映像。
FROM node:12.6.0 AS package-stage
WORKDIR /app
COPY ./angular/package.json ./angular/package-lock.json ./
RUN npm install
COPY ./angular/. ./
RUN npm run ng build -- --configuration=production
FROM nginx:1.17.1
COPY --from=package-stage /app/dist/* /usr/share/nginx/html/
COPY ./nginx/. /
Run Code Online (Sandbox Code Playgroud)
最后COPY
一步将我的 nginx 配置复制到映像中。目前,这只是/etc/conf.d/default.conf
。我只更改了该文件中的 1 行,如下所示:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html; <-- Added by me
} …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的 Dockerfile,如下所示:
FROM alpine:3
RUN echo "$HOME" # Prints '/root'
ENV OTHER_HOME="$HOME"
RUN echo "$OTHER_HOME" # Prints nothing!
RUN echo "$PATH" # Prints '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
ENV OTHER_PATH="$PATH"
RUN echo "$OTHER_PATH" # Prints '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
Run Code Online (Sandbox Code Playgroud)
我是这样构建的:
docker build . --no-cache
Run Code Online (Sandbox Code Playgroud)
输出结果令人困惑。$OTHER_PATH
按预期打印,但$OTHER_HOME
为空白。谁能解释这种行为?
% docker build . --no-cache
Sending build context to Docker daemon 335.4kB
Step 1/7 : FROM alpine:3 AS build-stage
---> e7d92cdc71fe
Step 2/7 : RUN echo "$HOME"
---> Running in f9cd2769cd78
/root
Removing intermediate container f9cd2769cd78
---> d13f007a1fdf …
Run Code Online (Sandbox Code Playgroud) 我正在设置 CI/CD 管道,用于以自动化方式部署基于 Kubernetes 的应用程序。此部署的一部分涉及创建其他服务帐户及其关联角色。
\n当我的管道运行时,部署失败并显示以下错误消息:
\nError: roles.rbac.authorization.k8s.io "mongodb-kubernetes-operator" is forbidden: user "cicd-bot@my-project.iam.gserviceaccount.com" (groups=["system:authenticated"]) is attempting to grant RBAC permissions not currently held:\n\xe2\x94\x82 {APIGroups:[""], Resources:["configmaps"], Verbs:["list" "watch" "create" "update" "patch" "get" "delete"]}\n\xe2\x94\x82 {APIGroups:[""], Resources:["pods"], Verbs:["list" "watch" "create" "update" "patch" "get" "delete"]}\n\xe2\x94\x82 {APIGroups:[""], Resources:["secrets"], Verbs:["list" "watch" "create" "update" "patch" "get" "delete"]}\n\xe2\x94\x82 {APIGroups:[""], Resources:["services"], Verbs:["list" "watch" "create" "update" "patch" "get" "delete"]}\n\xe2\x94\x82 {APIGroups:["apps"], Resources:["statefulsets"], Verbs:["list" "watch" "create" "update" "patch" "get" "delete"]}\n\xe2\x94\x82 {APIGroups:["mongodbcommunity.mongodb.com"], Resources:["mongodbcommunity"], Verbs:["list" "watch" "update" "patch" "get"]}\n\xe2\x94\x82 {APIGroups:["mongodbcommunity.mongodb.com"], Resources:["mongodbcommunity/finalizers"], Verbs:["list" …
Run Code Online (Sandbox Code Playgroud) 当我与控制台制作人一起传输此内容时
{"id":1337,"status":"example_topic_1 success"}
Run Code Online (Sandbox Code Playgroud)
我从我的文件流消费者那里得到这个
{id=1337, status=example_topic_1 success}
Run Code Online (Sandbox Code Playgroud)
这对我来说是一个主要问题,因为如果不假设引号曾经在哪里,就无法恢复原始 JSON 消息。如何将消息输出到文件,同时保留引号?
# sh bin/connect-standalone.sh \
> config/worker.properties \
> config/connect-file-sink-example_topic_1.properties
Run Code Online (Sandbox Code Playgroud)# sh bin/kafka-console-consumer.sh \
> --bootstrap-server kafka_broker:9092 \
> --topic example_topic_1
Run Code Online (Sandbox Code Playgroud)最后,我启动一个控制台生成器来发送消息,然后输入一条消息。
# sh bin/kafka-console-producer.sh \
> --broker-list kafka_broker:9092 \
> --topic example_topic_1
Run Code Online (Sandbox Code Playgroud)
从控制台消费者中,消息会正确弹出,并带有引号。
{"id":1337,"status":"example_topic_1 success"}
Run Code Online (Sandbox Code Playgroud)
但我从 FileStreamSink 消费者那里得到了这个:
{id=1337, status=example_topic_1 success}
Run Code Online (Sandbox Code Playgroud)offset.storage.file.filename=/tmp/example.offsets
bootstrap.servers=kafka_broker:9092
offset.flush.interval.ms=10000
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
value.converter.schemas.enable=false
Run Code Online (Sandbox Code Playgroud)
name=file-sink-example_topic_1
connector.class=FileStreamSink
tasks.max=1
file=/data/example_topic_1.txt
topics=example_topic_1
Run Code Online (Sandbox Code Playgroud) 相关文档:https://helm.sh/docs/chart_template_guide/functions_and_pipelines/#using-the-lookup-function
我的头盔版本:
$ helm version
version.BuildInfo{Version:"v3.4.1",
GitCommit:"c4e74854886b2efe3321e185578e6db9be0a6e29",
GitTreeState:"dirty", GoVersion:"go1.15.4"}
Run Code Online (Sandbox Code Playgroud)
重现的最小示例:
$ helm create my-chart
$ helm install my-chart ./my-chart
Run Code Online (Sandbox Code Playgroud)
# my-chart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap
data:
someKey: someValue
Run Code Online (Sandbox Code Playgroud)
升级现有图表以便应用 ConfigMap。
$ helm upgrade my-chart ./my-chart
Run Code Online (Sandbox Code Playgroud)
$ kubectl -n default get configmap my-configmap
Run Code Online (Sandbox Code Playgroud)
其返回结果符合预期:
NAME DATA AGE
my-configmap 1 12m
Run Code Online (Sandbox Code Playgroud)
lookup
函数来引用现有的ConfigMap。
# my-chart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap
data:
someKey: someValue
someOtherKey: {{ (lookup …
Run Code Online (Sandbox Code Playgroud)我的步骤:
$ mkdir maven-test
$ cd maven-test
$ mvn archetype:generate
Run Code Online (Sandbox Code Playgroud)
然后我进入
1313
对于快速入门原型。
8
对于快速入门原型版本 1.4。
info.cameronhudson.18655
对于 groupId
lab1
对于 artifactId
1.0
对于快照版本
public-recommendation-service
对于包名
Y
确认
然后我进入新项目并尝试安装它。
$ cd lab1
$ mvn clean install
Run Code Online (Sandbox Code Playgroud)
这产生了以下编译错误。
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/cameronhudson/Repositories/CMU/18-655_Lab_1_Public_Recommendation_Service/lab1/src/main/java/public-recommendation-service/App.java:[1,8] <identifier> expected
[ERROR] /Users/cameronhudson/Repositories/CMU/18-655_Lab_1_Public_Recommendation_Service/lab1/src/main/java/public-recommendation-service/App.java:[1,15] class, interface, or enum expected
[INFO] 2 errors
Run Code Online (Sandbox Code Playgroud)
App.java
包含(默认情况下):
package public-recommendation-service;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( …
Run Code Online (Sandbox Code Playgroud) docker ×2
angular ×1
apache-kafka ×1
archetypes ×1
generate ×1
git ×1
java ×1
kubernetes ×1
maven ×1
nginx ×1