I added and commited a branch locally (in a Docker container mounted as volume and locally in Windows). 
The file contained tabs which had a width of 2 spaces. (they had two spaces in neovim and in Visual Studio Code) 
Then I pushed that Branch onto gitlab. 
And in gitlab the tabs I added to that file had a width of 8 spaces. 
I tried using the autocrlf option in .gitconfig but it did not seem to have an effect.
I did the add and commit inside the Docker container. 
But the git push I had to do in gitbash because of authentication issues. 
Since I still see two spaces in my local file and in the Docker container it must be the git push from gitbash that changed the tabwidth.
            Asked
            
        
        
            Active
            
        
            Viewed 91 times
        
    0
            
            
         
    
    
        torek
        
- 448,244
- 59
- 642
- 775
 
    
    
        theerrormagnet
        
- 174
- 2
- 15
- 
                    1I would guess that what the file contains is a literal tab character, and you have your local configuration set to display tabs with a size of 2, while on gitlab it's configured to show then as 8. However, there are configurations in Git to automate tab/space conversion, maybe you have one of them enabled? See https://stackoverflow.com/q/2316677/3216427 – joanis Feb 01 '22 at 22:25
- 
                    1Note that [tag:docker] is irrelevant and tag [tag:tabs] is for browser-style tabs, not `\t` characters. The tag [tag:tabstop] is the only SO tag for this that I can find. Git itself doesn't do tab expansion: that's up to your display devices. GitLab, since it's acting as a display device when it produces HTML, does have to do tab expansion. – torek Feb 02 '22 at 08:08
1 Answers
0
            joanis answer was correct and led me to the solution.
I solved the issue by adding the set expandtab to my .vimrc which converts tabs into the number of spaces you set with set tabstop and set shiftwidth.
So I can do  in vim and it produces actually two spaces instead of a real tab.
If I don't use set expandtab the tab is only 2 spaces wide, but it still is a tab and behaves differently in gitlab.
 
    
    
        theerrormagnet
        
- 174
- 2
- 15