Should git change the ending of line? (control+M or ^M at the end of the first line)

前端 未结 3 1512
暗喜
暗喜 2021-02-05 18:46

I use git to pull my code from a windows machine.

When the other developers pull the files from the server on their liunx machine they have the

3条回答
  •  深忆病人
    2021-02-05 19:33

    This GitHub help page deals with this very specific topic and drives one through the steps to correctly configure your Git configuration.

    Basically, if you're working on Mac/Linux, use

    $ git config --global core.autocrlf input

    If you're rather a Windows guy, use

    $ git config --global core.autocrlf true

    Note: This will convert your line endings on the fly, while performing a checkout or a commit and ensure that your text files will have LF line endings in your repository while having native line endings in your working directory.

    Note 2: This will not rewrite the history of your repository. Existing commits in the repo will keep their potentially mixed lines endings.

    Note 3: Ensure that every committer executes this configuration step before their next commit.

    An alternative approach, which doesn't involve compelling everyone to change their config, exists. It requires adding a specific file name .gitattributes to your repository. More information about his topic in the git official gitattributes documentation.

    Note 4: Tim Clem, a githubber, published a very detailed blog post (Mind the End of Your Line) about line endings, related configuration entries and gitattributes benefits. It's an absolute must read if you're willing to get a good grasp of the concepts, the "why" and the internal machinery.

提交回复
热议问题