Can git automatically switch between spaces and tabs?

后端 未结 4 1110
离开以前
离开以前 2020-11-21 05:39

I use tabs for indentation in my python programs, but I would like to collaborate (using git) with people who use spaces instead.

Is there a way for git to automatic

4条回答
  •  独厮守ぢ
    2020-11-21 05:46

    Here is the complete solution:

    In your repository, add a file .git/info/attributes which contains:

    *.py  filter=tabspace
    

    Linux/Unix

    Now run the commands:

    git config --global filter.tabspace.smudge 'unexpand --tabs=4 --first-only'
    git config --global filter.tabspace.clean 'expand --tabs=4 --initial'
    

    OS X

    First install coreutils with brew:

    brew install coreutils
    

    Now run the commands:

    git config --global filter.tabspace.smudge 'gunexpand --tabs=4 --first-only'
    git config --global filter.tabspace.clean 'gexpand --tabs=4 --initial'
    

    All systems

    You may now check out all the files of your project. You can do that with:

    git checkout HEAD -- **
    

    and all the python files will now have tabs instead of spaces.

    Edit: changed the forced checkout command. You should commit your work first, of course.

提交回复
热议问题