🌱 Sử dụng .gitignore để Quản Lý File trong Git

🌱 Sử dụng .gitignore để Quản Lý File trong Git

    Trong quá trình sử dụng Git để quản lý dự án phần mềm, đã bao giờ bạn gặp trường hợp các file .exe với kích thước vài trăm MB, hay các folder thư viện rất nặng, hay đơn giản là folder .vscode tự động được tạo khi dùng phần mềm VSCode! Bạn không muốn đẩy các file/folder này lên trên repository, mỗi lần push code phải xóa, phải lọc sự thay đổi rất mất thời gian!

    Đừng lo vì Git hỗ trợ công cụ gitignore sẽ giúp bạn giải quyết vấn đề trên, để bỏ qua những file / folder không cần thiết khi quản lý project! Bài viết này giới thiệu về công cụ gitignore, cách sử dụng và tạo nội dung file .gitignore trong project sử dụng Git.

git gitignore

Table of Contents

gitignore và tạo file .gitignore

    Trong Git, file .gitignore giúp bạn chỉ định những file hoặc folder không nên được theo dõi bởi Git - tức là nếu có các file / folder đó được thêm, bị thay đổi, thì nó cũng sẽ không được hiển thị bởi Git (Nó vẫn nằm trong folder chứ repo nhưng lại không thuộc repo đó).

    Mục đích của gitignore là để giúp quản lý các project lớn một cách tốt hơn, khi chúng ta có rất nhiều file không cần thiết được sinh ra trong quá trình làm việc, không muốn đẩy nó lên repo chung, lại không muốn phải xóa nó đi trong local repo:

  • Folder .vscode được tạo ra khi dùng phần mềm VSCode.
  • Các file được tạo ra trong quá trình Build, debug, ... Ví dụ các file exe, file map, ...
  • Các thư viện lớn dùng cho project ➔ Mỗi local repo nên tự tải về và apply vào repo, thay vì đẩy lên remote repo
    File .gitignore được thêm vào repository, nó tạo ra một format để bỏ qua các file không cần thiết kể trên khi làm việc với git (ví dụ các lệnh git status, git add, git commit, git push).

Cú Pháp và Quy Tắc Viết File .gitignore

    Một số quy tắc quan trọng khi viết file .gitignore:

  • Dấu * đại diện cho nhiều ký tự.
  • Dấu / chỉ định thư mục.
  • Dấu ! để loại trừ file hoặc thư mục khỏi danh sách ignore.

    Một file .gitignore mẫu:

# Ignore all .log files
*.log

# Ignore node_modules folder
node_modules/

# Ignore all .env files
.env

    ➤ File trên sẽ bỏ qua các file có đuôi .log.env, tất cả folder node_modules.

    Nếu một file đã bị commit vào Git trước đó, bạn cần sử dụng lệnh (với từng file, hoặc . cho tất cả các file, hoặc *.c cho các file source C):

git rm --cached file_name

Tool tạo file .gitignore tự động

    Thông thường khi quản lý project bằng Git, các developer sẽ không chọn cách ngồi viết file .gitignore một cách thủ công - lí do là file này rất dài, nên cách tốt nhất là sử dụng các tool generate file .gitignore, tùy thuộc vào các ngôn ngữ / công nghệ trong project sử dụng, sau đó có thể sửa thủ công tùy theo yêu cầu của project.

    Dưới đây là một số cách để tạo ra file .gitignore một cách tự động:

Sử dụng các trang web - ví dụ gitignore.io

    Một số trang web cho phép generate ra file .gitignore theo ngôn ngữ lập trình / công nghệ bạn sử dụng, nó sẽ tạo ra các syntax chung (các file, folder build, run, tạm thời thường được tạo ra).

    Một trang web đang ở top đầu tìm kiếm đó là gitignore.io. gitignore.io là một công cụ mã nguồn mở cho phép bạn tạo tệp .gitignore chỉ bằng một cú nhấp chuột, hỗ trợ hầu hết ngôn ngữ lập trình và frameworks.

gitignore.io

    Ví dụ sử dụng tool cho project sử dụng AtmelStudio:

gitignore.io atmelstudio example

    Kết quả đầu ra sẽ là nội dung của file .gitignore:

# Created by https://www.toptal.com/developers/gitignore/api/atmelstudio
# Edit at https://www.toptal.com/developers/gitignore?templates=atmelstudio

### AtmelStudio ###
## Ignore Atmel Studio temporary files and build results
# https://www.microchip.com/mplab/avr-support/atmel-studio-7

# Atmel Studio is powered by an older version of Visual Studio,
# so most of the project and solution files are the same as VS files,
# only prefixed by an `at`.

#Build Directories
[Dd]ebug/
[Rr]elease/

#Build Results
*.o
*.d
*.eep
*.elf
*.hex
*.map
*.srec

#User Specific Files
*.atsuo

# End of https://www.toptal.com/developers/gitignore/api/atmelstudio

Sử dụng extension của các IDE - ví dụ VSCode

    Một số IDE hỗ trợ các tính năng tạo ra file .gitignore tự động theo cấu hình của developer. Ví dụ VSCode hỗ trợ extension "gitignore generator".

VSCode gitignore generator extension

    ➢ Mở bảng lệnh của VSCode bằng cách nhấn tổ hợp phím Ctrl+Shift+P và nhập Add gitignore.

vscode gitignore command

    ➢ Sau đó nhập các ngôn ngữ / framework cần thiết, tick chọn và bấm OK. file .gitignore sẽ được tạo ra.

vscode gitignore add languages framework

Tạo gitignore file khi tạo repository - ví dụ Github

    Hầu hết các dịch vụ lưu trữ Git, như GitHub và Bitbucket, đều có tính năng này. Bạn chỉ cần thêm file .gitignore khi repository được tạo.

gitignore github

    Sau đó, bạn sẽ nhận được một danh sách dropdown để chọn ngôn ngữ / framework của project. Sau khi bạn chọn ngôn ngữ, nó sẽ tự động tạo tệp .gitignore trực tiếp trong kho repo của bạn.

gitignore github

Kết Luận

    File .gitignore là một tùy chọn thực sự hữu ích khi xử lý các dự án phức tạp. Bài viết này thảo luận về ba cách tiếp cận để tự động tạo tệp .gitignore. Mình hy vọng những cách tiếp cận này sẽ giúp bạn tăng tốc quá trình phát triển. Cảm ơn bạn đã đọc.

Related blogs

>>>>>> Follow ngay <<<<<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊
Chúc các bạn học tập tốt 😊

Nguyễn Văn Nghĩa

Mình là một người thích học hỏi và chia sẻ các kiến thức về Nhúng IOT.

Đăng nhận xét

Mới hơn Cũ hơn
//