Bạn có thể cam kết các tệp sau vào dự án của mình, được đặt tên là certs.h:
// Replace with your actual SSID and password:
#define WIFI_SSID "Your SSID here"
#define WIFI_PASSWD "WLAN AP password here"
Gần đầu bản phác thảo của bạn, bạn thêm:
#include "credentials.h"
const char ssid[] = WIFI_SSID;
const char password[] = WIFI_PASSWD;
Bây giờ, bạn có thể chỉnh sửa thông tin đăng nhập.h để thêm SSID và mật khẩu thực của bạn và tiếp tục với quy trình công việc git bình thường của bạn, với một ngoại lệ: không bao giờ
git add credentials.h
nữa, cũng không git commit -a
.
Bây giờ, git sẽ luôn nhắc bạn rằng thông tin đăng nhập.h đã được sửa đổi và không được tổ chức cho cam kết. Nó sẽ làm như vậy ngay cả khi bạn thêm tệp vào .gitignore của bạn. Nếu bạn luôn xem xét các thay đổi của mình trước khi cam kết, đây chỉ là một bất tiện nhỏ. Mặt khác, nếu bạn có xu hướng
git commit -a
mà không xem xét lại những gì bạn đang cam kết, thì giải pháp này có thể không dành cho bạn.
Chỉnh sửa : Một ý tưởng tôi có được từ việc đọc ý kiến của Chris Stratton. Nếu
bạn sử dụng Makefile trong quy trình làm việc của riêng bạn (điều này đã được thảo luận trong trang web này một vài lần), bạn có thể cam kết thông tin đăng nhập này.h cho repo của bạn:
#ifndef CREDENTIALS_H
#define CREDENTIALS_H
// Replace with your actual SSID and password:
#define WIFI_SSID "Your SSID here"
#define WIFI_PASSWD "WLAN AP password here"
#endif
Tạo một bản sao của tệp này có tên true-certs.h và đặt thông tin xác thực ở đó (nhưng không đổi tên bảo vệ bao gồm). Sau đó thêm vào Makefile của bạn
CFLAGS += -include true-credentials.h
Giữ thông tin xác thực.h và Makefile ra khỏi repo. Bạn có thể thêm chúng vào .gitignore của bạn hoặc tốt hơn nữa là .git / thông tin / loại trừ.
Bây giờ bạn đã có phiên bản có thể biên dịch được với thông tin giả trong kho lưu trữ, bạn có thông tin xác thực khi bạn biên dịch trên máy của mình và git không làm phiền bạn về thông tin đăng nhập.