相关疑难解决方法(0)

Git最好的CRLF(回车,换行)处理策略是什么?

我尝试使用CRLF结束行提交文件,但失败了.

我花了整整一天的时间在我的Windows计算机上尝试不同的策略,几乎被迫停止尝试使用Git而是尝试使用Mercurial.

每个答案只能分享一个最佳实践.

git cross-platform newline eol

588
推荐指数
9
解决办法
20万
查看次数

如何强制git在windows下使用LF而不是CR + LF?

我想强制git在Windows下检出文件LF而不是CR+LF.我检查了两个配置选项,但我无法找到正确的设置组合.

我希望它将所有文件转换为LF并保留LF文件.

备注:我使用autocrlf = input但是这只是在你提交时修复文件.我想强制它让他们使用LF.

可能我不是那么清楚:存储库已经在使用LF但是使用msysgit检出的文件正在使用CR+LF,我想强制msysgit使用它们LF:强制Unix行结束.

>git config --list | grep crlf
core.autocrlf=input
Run Code Online (Sandbox Code Playgroud)

git msysgit

302
推荐指数
5
解决办法
19万
查看次数

行结束转换如何在不同操作系统之间与git core.autocrlf一起使用

我在Stack Overflow上阅读了很多不同的问题和答案,以及关于core.autocrlf设置如何工作的git文档.

这是我对以下内容的理解:

Unix和Mac OSX(OSX之前使用CR)客户端使用LF行结尾.
Windows客户端使用CRLF行结尾.

当在客户端上将core.autocrlf设置为true时,git存储库始终以LF行结束格式存储文件,并且客户端(即Windows)在签出/提交时来回转换客户端文件中的行结尾-LF行结尾,无论行结尾文件在客户端上的格式是什么(这与Tim Clem的定义不一致 - 请参阅下面的更新).

这是一个矩阵,试图为带有问号的core.autocrlf的'input'和'false'设置记录相同的内容,我不确定行结束转换行为.

我的问题是:

  1. 问号应该是什么?
  2. 这个矩阵对"非问号"是否正确?

我将从答案中更新问号,因为似乎已形成共识.

                       core.autocrlf value
            true            input              false
----------------------------------------------------------
commit   |  convert           ?                  ?
new      |  to LF      (convert to LF?)   (no conversion?)

commit   |  convert to        ?                 no 
existing |  LF         (convert to LF?)     conversion

checkout |  convert to        ?                 no
existing |  CRLF       (no conversion?)     conversion

我并不是真的在寻找各种设置的利弊意见.我只是在寻找数据,这清楚地说明了如何期望git能够在三种设置中运行.

-

2012年4月17日更新:阅读由JJD在评论中链接的Tim Clem的文章后,我修改了上表中"未知"值中的一些值,并更改了"checkout existing | true to conversion"到CRLF而不是转换为客户".以下是他给出的定义,这些定义比我在其他地方看到的更清楚:

core.autocrlf …

git newline core.autocrlf

208
推荐指数
6
解决办法
10万
查看次数

使用tr用空格替换换行符

有输出sed:

http://sitename.com/galleries/83450
72-profile
Run Code Online (Sandbox Code Playgroud)

这两个字符串应合并为一个并用空格分隔,如:

http://sitename.com/galleries/83450 72-profile
Run Code Online (Sandbox Code Playgroud)

两个字符串是流水线的tr,以便用空格替换换行符:

tr '\n' ' '
Run Code Online (Sandbox Code Playgroud)

并且它不起作用,结果与输入相同.

使用ASCII代码指示空间会'\032'导致替换\n为不可打印的字符.

怎么了?我在Windows上使用Git Bash.

replace newline space tr git-bash

51
推荐指数
1
解决办法
14万
查看次数

为什么我的docker-entrypoint.sh不执行?

我的ENTRYPOINT脚本不执行并抛出 standard_init_linux.go:175: exec user process caused "no such file or directory".为什么这样?

不起作用

$ docker build -t gilani/trollo . && docker run gilani/trollo
Sending build context to Docker daemon   126 kB
Step 1 : FROM vault:latest
 ---> 1f127f53f8b5
Step 2 : MAINTAINER Amin Shah Gilani <gilani@payload.tech>
 ---> Using cache
 ---> 86b885ca1c81
Step 3 : COPY vaultConfig.json /vault/config
 ---> Using cache
 ---> 1a2be2fa3acd
Step 4 : COPY ./docker-entrypoint.sh /
 ---> Using cache
 ---> 0eb7c1c992f1
Step 5 : RUN chmod …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile

32
推荐指数
7
解决办法
4万
查看次数

Windows特定的Git配置设置; 他们在哪里设置?

我已经阅读了Git文档,我的Git配置中的设置来自哪里?然而我仍然无法理解我的一些设置.

我在Windows 10上使用的是Git 2.5.3.以下是输出git config -l:

? git config -l
core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=Ben Collins
user.email=#redacted#
alias.sm=submodule
alias.br=branch
alias.co=checkout
alias.st=status
alias.rebuild=!git rm --cached -r . && git reset --hard
core.excludesfile=C:\Users\Benjamin\Documents\gitignore_global.txt
core.editor=c:/Users/Benjamin/AppData/Local/atom/bin/atom.cmd
core.attributesfile=C:\Users\Benjamin\.gitattributes
push.default=simple
merge.tool=p4merge
mergetool.p4merge.cmd=p4merge.exe "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
mergetool.p4merge.path=C:/Program Files/Perforce/p4merge.exe
gui.encoding=utf-8
diff.guitool=p4merge
difftool.p4merge.path=C:/Program Files/Perforce/p4merge.exe
difftool.p4merge.cmd=p4merge.exe "$LOCAL" "$REMOTE"
mergetool.keepbackup=false
rerere.enabled=true
credential.helper=!'C:\Users\Benjamin\AppData\Roaming\GitCredStore\git-credential-winstore.exe'
filter.lfs.clean=git lfs clean %f
filter.lfs.smudge=git lfs smudge %f
filter.lfs.required=true
color.diff.whitespace=red reverse
Run Code Online (Sandbox Code Playgroud)

令人讨厌的是我在任何地方都找不到的前十二种设置.

C:\Program …
Run Code Online (Sandbox Code Playgroud)

windows git git-config

27
推荐指数
2
解决办法
8412
查看次数

T4模板正在某些PC上生成额外的新行

在为实体框架使用T4类时,有几个开发人员为每个生成的行生成一个额外的新行.我想知道这是否是某种需要更改的设置,以便他们的T4生成的文件看起来像其他开发人员生成的文件.作为我所谈论的一个例子:(删除了特定的名称,但你应该能够看到从同一个*.tt文件生成的新行数量的差异.)

(更新:问题也出现在其他T4模板中,而不仅仅是EF.两台PC都使用TextTemplatingFileGenerator作为T4自定义工具.)

我电脑的T4输出:

    public virtual DbSet<GeneratedObject1> GeneratedObject1 { get; set; }
    public virtual DbSet<GeneratedObject2> GeneratedObject2 { get; set; }

    public virtual int SomeMethod1(Nullable<int> inParameter)
    {
        var localParameter = inParameter.HasValue ?
            new ObjectParameter("SomePropertyName", inParameter) :
            new ObjectParameter("SomePropertyName", typeof(int));

        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SomeMethod1", localParameter);
    }

    public virtual int SomeMethod2(Nullable<int> inParameter)
    {
        var localParameter = inParameter.HasValue ?
            new ObjectParameter("SomePropertyName", inParameter) :
            new ObjectParameter("SomePropertyName", typeof(int));

        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SomeMethod2", localParameter);
    }
Run Code Online (Sandbox Code Playgroud)

PC的T4输出:

public virtual DbSet<GeneratedObject1> GeneratedObject1 { get; set; }

public virtual DbSet<GeneratedObject2> GeneratedObject2 …
Run Code Online (Sandbox Code Playgroud)

c# t4

22
推荐指数
1
解决办法
1666
查看次数

Git与JSON文件冲突

我们的网站使用一堆带翻译的JSON文件进行本地化(每种语言一个文件).文件的内容如下所示:

{
    "Password": "Passwort",
    "Tables": "Tische"
}
Run Code Online (Sandbox Code Playgroud)

许多团队成员同时编辑这些JSON文件,添加新短语和编辑现有短语,即使人们正在更改不同的行,我们也会遇到很多冲突.

有没有办法以这样的方式设置git,以帮助避免合并冲突?

PS 我发现这个脚本有助于本地合并:https://gist.github.com/jphaas/ad7823b3469aac112a52.但是,我对能够解决团队中每个人的问题的解决方案感兴趣(即使是通过GitHub的Web界面编辑JSON的人).

git json localization github git-merge

18
推荐指数
2
解决办法
3843
查看次数

Docker:standard_init_linux.go:211:exec 用户进程导致“没有这样的文件或目录”

我正在尝试按照官方 docker 网页(https://docs.docker.com/samples/library/scratch/)中给出的说明创建基本图像

    docker --version
    Docker version 18.09.6, build 481bc77

    OS Details:
    NAME="Ubuntu"
    VERSION="18.04.2 LTS (Bionic Beaver)"
Run Code Online (Sandbox Code Playgroud)

Docker 文件:

    FROM scratch
    COPY hello /
    CMD ["/hello"]
Run Code Online (Sandbox Code Playgroud)

你好ç

    #include <stdio.h>
        int main()
        {
           // printf() displays the string inside quotation
           printf("Hello, World!");
           return 0;
        }
Run Code Online (Sandbox Code Playgroud)

我能够编译 C 程序并在本地执行

我可以使用 dockerfile 构建映像,但是当我尝试运行容器时,出现以下错误:

    # docker run -i hello
        standard_init_linux.go:211: exec user process caused "no such file or directory" 
    #
Run Code Online (Sandbox Code Playgroud)

我希望容器能够成功运行并在控制台上打印“Hello World”。提供的大多数答案都要求更改 EOL,这并不适用,因为我们已经在 Linux 上并且不尝试运行脚本。

containers image base docker

9
推荐指数
1
解决办法
3万
查看次数

standard_init_linux.go:211: exec 用户进程导致“没有这样的文件或目录”?

文件

FROM python:3.7.4-alpine

ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV LANG C.UTF-8
MAINTAINER "mail@gmail.com"


RUN apk update && apk add postgresql-dev gcc musl-dev
RUN apk --update add build-base jpeg-dev zlib-dev
RUN pip install --upgrade setuptools pip

RUN mkdir /code
WORKDIR /code

COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

#CMD ["gunicorn", "--log-level=DEBUG", "--timeout 90", "--bind", "0.0.0.0:8000", "express_proj.wsgi:application"]
ENTRYPOINT ["./docker-entrypoint.sh"]

Run Code Online (Sandbox Code Playgroud)

docker-entrypoint.sh

#!/bin/bash

# Prepare log files and start outputting logs to stdout
touch /code/gunicorn.log
touch /code/access.log
tail -n …
Run Code Online (Sandbox Code Playgroud)

python django entry-point docker dockerfile

9
推荐指数
1
解决办法
5682
查看次数