Tầm quan trọng của .gitignore trong teamwork

Sắp hết tuần rồi mà chưa thấy đề tài nào ngắn ngắn để viết thì hôm nay có việc phải setup một project đưa lên Github cho team checkout về code. Bỗng nhớ ra ngày xưa setup xong, checkout về toàn không build được '_' Hôm nay mạn phép giải quyết cái vấn đề "lâu lẩu lầu lâu" này :sweat_smile:. Bài này có thể sẽ hữu ích với các bạn newbie hoặc những đội teamwork lần đầu với git.

Git Ignore là gì???

Có thể hiểu đơn giản là thằng git sẽ bỏ qua file hoặc một tập các file trong project của chúng ta khi commit và push lên repository. Ví dụ như:

  • Các file mà IDE tự sinh ra trong quá trình build project > Tránh tốn kém tài nguyên server lưu trữ project.
  • Các file cấu hình đường dẫn của máy cá nhân > Gây ra việc không build được project khi checkout về ở các máy thành viên khác.
  • Các file cần phải giữ kín nếu như repository của bạn đang để public.
  • ...vân vân và mây mây

Git quản lý các file mà chúng ta muốn "ignore" bằng file .gitignore được đặt ở trong thư mục root project. Ta có thể add đường dẫn các file muốn bỏ qua vào trong .gitignore bằng lệnh command trên Git Bash được, nhưng chắc hẳn không ai muốn làm điều đó đâu :smirk:

Tool tạo file .gitignore

gitignore.io là một tool vô cùng mạnh mẽ giúp ta sinh ra file .gitignore. Các file mà bạn cần (hoặc nhất định) phải bỏ qua khi muốn đưa project lên repository sẽ được tool tự động thêm vào file .gitignore dựa trên việc bạn đang sử dụng hệ điều hành nào, IDE nào, ngôn ngữ lập trình nào,...
Mọi người truy cập vào trang để tạo thử nhé: https://www.gitignore.io/

Dành cho anh em Android sử dụng Android Studio

Đây là nội dung file .gitignore mà mình đang sử dụng, mọi người tham khảo + đóng góp với nhé :two_men_holding_hands:

# Created by https://www.gitignore.io

### Java ###
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*


### Gradle ###
.gradle
build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar


### Android ###
# Built application files
*.apk
*.ap_

# Files for the Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/

# Gradle files
.gradle/
/*/build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

### Android Patch ###
gen-external-apklibs


### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm

*.iml

## Directory-based project format:
.idea/

# if you remove the above rule, at least ignore the following:

# User-specific stuff:
.idea/workspace.xml
.idea/tasks.xml
.idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# For AndroidStudio
.idea/**/*.xml
!.idea/codeStyleSettings.xml
!.idea/copyright/*.xml
!.idea/fileColors.xml
!.idea/encodings.xml
!.idea/gradle.xml
!.idea/runConfigurations/*.xml
!.idea/inspectionProfiles/*.xml
/.ideainspectionProfiles/profiles_settings.xml
!.idea/scopes/*.xml
/.ideascopes/scope_settings.xml
!.idea/templateLanguages.xml
!.idea/vcs.xml

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

ngohado

8 bài viết.
107 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
54 13
(Ảnh) Các ứng dụng sử dụng Indicator Library: (Link) (Ảnh) Hi anh em, tình hình là đợt vừa rồi mình có viết bài về (Link) được mọi người ủng h...
ngohado viết hơn 2 năm trước
54 13
White
53 17
(Ảnh) Video demo: (Link) Tình hình là đợt vừa rồi mình có ngó Kiaplog profile của anh (Link), lướt lướt thấy có chủ đề (Link) có lượng kipalog ...
ngohado viết hơn 2 năm trước
53 17
White
8 3
Mở đầu Hi anh em Tiếp tục sau vụ dịch (Link) ngót cũng được một năm. Nay mình sẽ tiếp tục dịch docs của Dart, đây cũng là cơ hội để mình học và dấ...
ngohado viết hơn 1 năm trước
8 3
Bài viết liên quan
White
1 0
Tôi đã gặp vấn đề với việc đồng bộ danh bạ trên chiếc Samsung Galaxy S6 Edge của khi bật chế độ tiết kiệm pin. Sau khi tìm kiếm 1 lúc, tôi đã tìm r...
Lương Trưởng viết 6 tháng trước
1 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
8 bài viết.
107 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!