Tôi có một dự án với hai chi nhánh foo
và baar
. Trong dự án này, tôi có một tệp cấu hình database1.properties
và database1.properties
nơi các thuộc tính cơ sở dữ liệu được lưu trữ cho tên lược đồ ví dụ và mật khẩu lược đồ. Khi tôi làm việc trên nhánh foo, tên lược đồ là foo và mật khẩu là foo và khi tôi đang làm việc trên tên lược đồ nhánh baar là baar và mật khẩu là baar. Làm thế nào để nói với git rằng các tập tin thuộc tính này chỉ dành cho hệ thống cục bộ của tôi và không nên được đẩy đến repo gốc? Tôi sử dụng egit và cũng tortoiseGit.cách chỉ định phiên bản tệp cục bộ với git
Trả lời
Với một nhánh đơn lẻ, bạn không thể ngăn các tệp được chọn bị đẩy.
Khi nhánh bị đẩy, tất cả các cam kết sẽ được đẩy tới điều khiển từ xa.
Là một workaround bạn có thể có những thay đổi của bạn (cụ thể để địa phương) tại một chi nhánh khác nhau (foo-local
, bar-local
vv) và bất cứ khi nào bạn muốn những thay đổi trong hệ thống địa phương, sử dụng git merge local-branch --no-commit --no-ff
hoặc lệnh tương tự như sáp nhập vào chi nhánh thực tế (ý chí này không hợp nhất các thay đổi cụ thể tại địa phương của bạn với nhánh theo dõi từ xa). Khi bạn đã hoàn tất, bạn có thể loại bỏ những thay đổi này (tuy nhiên những thay đổi này sẽ luôn luôn có trong nhánh địa phương và có thể áp dụng cho nhánh thực tế bất kỳ lúc nào bạn muốn).
Way 1 - rebase tục
Giả sử có 3 chi nhánh:
master
cho công chúngboo
cho tinbaar
cho tin
Something như thế này:
Bạn phát triển một cái gì đó trên master
chi nhánh, sau đó rebase foo và chi nhánh baar trên tổng thể. Bạn cần (1) Thanh toán foo
, (2) rebase foo
vào master
, (3) Thanh toán baar
, (4) rebase baar
lên thạc sĩ, sau đó nó sẽ trở thành:
Note: phải lặp lại các bước đó lặp đi lặp lại.
Cách 2 - Hợp nhất
Giả sử cùng 3 chi nhánh.
Thanh toán foo
, và hợp nhất master
vào foo
:
Làm samething trên baar
chi nhánh, và cuối cùng bạn sẽ nhận được:
Sau khi phát triển một số về tổng thể, thực hiện lại các bước đó và nhận được:
Way 3 - submodule
2 cách trên là một chút nguy hiểm, nếu bạn đẩy tất cả các chi nhánh từ xa. Bằng cách này phức tạp hơn, bạn cần phải biết cách sử dụng mô-đun con, nhưng tôi thích nó hơn. :)
(1) Chuẩn bị kho dữ liệu cho cơ sở dữ liệu riêng tư, bạn có thể thanh toán chi nhánh giữa foo
/baar
.
(2) Chuẩn bị một repo/đơn giản bình thường như một container, một cái gì đó như thế này:
(3) Sau đó thêm rằng dữ liệu repo như là một submodule vào repo này:
Bạn sẽ nhận được những sau khi cam kết:
(4) Một lần nữa, thêm repo công cộng, tên test
đây, như một submodule:
Bây giờ, bạn có thể phát triển trong đó test
repo và kiểm tra bất kỳ nhánh nào của dữ liệu repo ở phía bên kia.
Lưu ý 1: Yêu cầu điều chỉnh đường dẫn tốt.
Lưu ý 2: nếu bạn không thích submodule, bạn chỉ có thể sử dụng một thư mục làm vùng chứa, sau đó đặt hai repo vào đó.
Way 4 - Hợp nhất với không cam kết hoặc bí
Như this answer (bởi @Royal Pinto) cho biết, tôi chỉ cho các hoạt động TortoiseGit đây.
Lưu ý: các dữ liệu cá nhân đã được tổ chức vào tập tin chỉ mục. Vì vậy, lệnh cam kết tiếp theo sẽ cam kết nó thành repo.
- 1. git pull (chỉ cập nhật tệp cục bộ)
- 2. SVN - chỉ hiển thị các tệp cục bộ được phiên bản (dòng lệnh)?
- 3. Gói phiên bản mặc định là khi Phiên bản xuất không chỉ định phiên bản
- 4. Xóa bộ nhớ cache cục bộ git
- 5. Chỉ định động cục bộ trong lưới
- 6. Cách chỉ định phiên bản Java được yêu cầu trong một bản dựng Gradle
- 7. Làm cách nào để giữ phiên bản cục bộ của tệp bị lỗi trong TFS?
- 8. Pip: Chỉ định phiên bản phụ
- 9. Nhân bản kho lưu trữ Git cục bộ
- 10. Cách chỉ định nơi lưu trữ tệp Git LFS?
- 11. Gia tăng Phiên bản Dự án Maven với Jenkins/Git
- 12. Cách khôi phục `.git/index` cục bộ?
- 13. Tải xuống phiên bản Chrome và Firefox cục bộ, C#
- 14. Kéo Git cần phải hủy các tệp cục bộ
- 15. Cách chỉ định phiên bản MSBuild trong tập lệnh nant?
- 16. Kết hợp tệp Bố cục cho nhiều số phiên bản
- 17. Tìm kiếm bản sao trong tệp văn bản cục bộ
- 18. Liệt kê các tệp trong repo git cục bộ?
- 19. Cách chỉ định giới hạn bộ nhớ và CPU trong docker soạn phiên bản 3
- 20. Git: Hoàn tác thay đổi cục bộ; git add. + git rm?
- 21. Chỉ định số phiên bản trong Bower
- 22. Đồng bộ hóa tệp sqlite cục bộ với iCloud
- 23. Cách chỉ định phiên bản JAXB trong plugin maven-jaxb2?
- 24. Hoàn nguyên tệp trên kho SVN nhưng giữ phiên bản cục bộ
- 25. Git global.fileMode Git global được ghi đè cục bộ trên bản sao
- 26. Cách giữ bản tin GIT đồng bộ
- 27. Cách tạo tệp tgz với phiên bản bằng gói npm?
- 28. Phiên bản CLI góc toàn cầu lớn hơn phiên bản cục bộ
- 29. Chỉ định đối số tham chiếu cho biến cục bộ
- 30. Git so sánh phiên bản "cơ sở" với phiên bản "của họ" của một tệp bị xung đột?
Có lẽ bạn cần phải nhân bản cục bộ dự án ... –
Có thể bạn không thêm chúng bằng 'git add' – Black
Và thêm chúng vào .gitignore –