Thông tin rất hữu ích cho mọi người sử dụng GitHub (hoặc dịch vụ tương tự khác)
~/.gitconfig
[filter "tabspace"]
smudge = unexpand --tabs=4 --first-only
clean = expand --tabs=4 --initial
[filter "tabspace2"]
smudge = unexpand --tabs=2 --first-only
clean = expand --tabs=2 --initial
Sau đó, tôi có hai tập tin:
attributes
*.js filter=tabspace
*.html filter=tabspace
*.css filter=tabspace
*.json filter=tabspace
và attributes2
*.js filter=tabspace2
*.html filter=tabspace2
*.css filter=tabspace2
*.json filter=tabspace2
Làm việc trên các dự án cá nhân
mkdir project
cd project
git init
cp ~/path/to/attributes .git/info/
Theo cách đó, khi cuối cùng bạn đẩy công việc của mình lên github, nó sẽ không trông ngớ ngẩn trong chế độ xem mã với 8 space tabs
hành vi mặc định trong tất cả các trình duyệt.
Đóng góp cho các dự án khác
mkdir project
cd project
git init
cp ~/path/to/attributes2 .git/info/attributes
git remote add origin git@github.com:some/repo.git
git pull origin branch
Bằng cách đó bạn có thể làm việc với các tab bình thường trong 2 space indented
các dự án.
Tất nhiên bạn có thể viết giải pháp tương tự để chuyển đổi từ 4 space to 2 space
đó là trường hợp nếu bạn muốn đóng góp cho các dự án do tôi xuất bản và bạn có xu hướng sử dụng 2 khoảng trắng trong khi phát triển.