Bạn có thể thiết lập hai nhánh. master
và secret
. Sau đó, bạn có thể thêm và cam kết config/my_private_data.yml
trong chi nhánh secret
mà sau đó bạn có thể đẩy vào nhánh chính tại máy chủ kiểm tra.
touch config/my_private_data.yml
git checkout -b secret
git add config/my_private_data.yml
git commit -m 'Commited secret file'
git push testserver_repo_url secret
git checkout master
git push repo_on_github master
Sau đó, thực hiện git checkout secret; git rebase master
nếu bạn có cam kết mới về chính.
Không cam kết số secret
và nếu bạn làm như vậy, hãy thực hiện lựa chọn cam kết đó.
Chắc chắn, không phải tất cả đều tốt với phương pháp này. Từ những gì tôi có thể nghĩ bây giờ, bạn có thể vô tình đẩy nhánh bí mật đến github. Ngoài ra, bạn không thể thực sự làm việc trong master
nếu bạn cần my_private_data.yml
-file (bạn có thể thực hiện thanh toán tệp đó từ nhánh bí mật).
Riêng tư? Nếu nó là một desaster lớn nếu tập tin trở thành công khai, không bao gồm nó ở tất cả (sử dụng một 'config/private_data.yml.template' với giá trị mặc định). Rất có thể là bạn hoặc ai đó mắc lỗi và bạn có dữ liệu về github hoặc ở nơi khác mà bạn chưa bao giờ nghĩ đến. – Unapiedra
Không riêng tư, nhưng không phải thứ gì đó mà tôi muốn chia sẻ. Tôi sẽ không đăng mã số hạt nhân của tôi để github hoặc thậm chí đặt chúng trong ứng dụng của tôi. – Clay
điều này ở đây phải là một giải pháp: http://stackoverflow.com/questions/1836742/using-git-how-do-i-ignore-a-file-in-one-branch-but-have-it-committed- trong một khác –