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.
97 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
50 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 1 năm trước
50 13
White
49 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 1 năm trước
49 17
White
6 7
Tản mạn (thím nào vội thì bỏ qua phần này nhá :v) Có lẽ với những thím lập trình Android hay iOS hiện nay đã quá quen thuộc với Facebook SDK để thự...
ngohado viết hơn 2 năm trước
6 7
Bài viết liên quan
White
8 4
Ở bài viết lần trước](), tôi đã nói về "hoàn cảnh" tại sao tôi lại cần sử dụng openssl trên android native, đồng thời cũng đã giới thiệu qua về các...
huydx viết hơn 3 năm trước
8 4
White
49 8
Tôi xin tổng hợp các cách dùng git stash tôi hay sử dụng Lưu lại thay đổi Git stash được sử dụng khi muốn lưu lại các thay đổi chưa commit, thườ...
BB viết 3 năm trước
49 8
{{like_count}}

kipalog

{{ comment_count }}

bình luận

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


White
{{userFollowed ? 'Following' : 'Follow'}}
8 bài viết.
97 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á!