Có vẻ như bạn đang cố gắng theo dõi một tệp (ví dụ index.php
), thêm nó vào kho lưu trữ từ xa, sau đó ngừng theo dõi nó, trong khi giữ tệp trong điều khiển từ xa (tức là giữ index.php
nguyên trên kho từ xa trong khi thay đổi cục bộ).
Theo những gì tôi hiểu, git không thể làm điều này. Bạn có thể theo dõi một tệp hoặc không. Nếu bạn theo dõi một tệp, tệp đó tồn tại trong kho lưu trữ từ xa và thay đổi khi bạn thực hiện các thay đổi đối với tệp đó. Nếu bạn không theo dõi tệp, tệp đó không tồn tại trong kho lưu trữ từ xa.
Vì không thể thực hiện chính xác những gì bạn muốn với git, nên có những giải pháp tiềm năng khác, tùy thuộc vào tình huống chính xác của bạn. Ví dụ, tại sao bạn không muốn index.php
thay đổi trên điều khiển từ xa khi bạn thay đổi cục bộ? Có cài đặt dành riêng cho người dùng trong tệp không? Nếu đúng như vậy, bạn có thể làm:
cp index.php index_template.php
git rm --cached index.php
Bây giờ hãy chỉnh sửa index_template.php như bạn muốn để nó xuất hiện trên repo từ xa. Thêm một cái gì đó vào README của bạn để nói với những người sử dụng kho lưu trữ của bạn rằng một khi họ sao chép nó, họ phải sao chép index_template.php sang index.php và chỉnh sửa nó cho phù hợp với nhu cầu của họ.
git add index_template.php
git add README
git commit -m 'added template index.php file'
git push
Khi ai đó sao chép repo của bạn, họ phải tạo repo của riêng họ index.php
. Bạn đã thực hiện nó dễ dàng cho họ: chỉ cần sao chép index_template.php
đến index.php
và sửa đổi nó với các thiết lập máy tính cụ thể.