Tôi cũng đang gặp sự cố với Git trong Visual Studio nhưng tôi nghĩ rằng cuối cùng tôi đã tìm ra giải pháp hiệu quả. Cho đến bây giờ tôi đã sử dụng thủ thuật đổi tên thư mục .git thành _git và thêm một tệp văn bản có tên .git có chứa dòng "gitdir: _git". Nhưng kể từ khi nâng cấp lên VS2019 nó không hoạt động nữa.
Tôi đã thử rất nhiều giải pháp khác nhau, nhưng không có giải pháp nào hoạt động vì tôi cần Git cho một số dự án chứ không phải cho những giải pháp khác. Dự án sự cố của tôi đang sử dụng Máy chủ Team Foundation của công ty tôi để kiểm soát nguồn. Nhưng vì tôi đã mất mã trong các hợp nhất không hợp lệ do TFS thực hiện, tôi đang cam kết các thay đổi của mình đối với kho lưu trữ Git cục bộ trước khi cập nhật hoặc cam kết với TFS.
D:\Projects\TFS\.git
Repo git cục bộ mà VS không nên sử dụng.
D:\Projects\TFS\ProjectA\$tf
Tệp TFS mà VS nên sử dụng cho ProjectA.
Bất kể tôi đã cố gắng như thế nào, tôi không thể khiến VS sử dụng TFS cho ProjectA khi nó tìm thấy thư mục .git trong thư mục mẹ. Giải pháp của tôi là di chuyển thư mục .git sang:
D:\Projects\TFS-GIT\.git
và tạo một điểm nối thư mục đến thư mục ProjectA. Bắt đầu một dấu nhắc lệnh nâng cao và chạy:
mklink /J D:\Projects\TFS-GIT\ProjectA D:\Projects\TFS\ProjectA
Mở D:\Projects\TFS\ProjectA\ProjectA.sln
trong Visual Studio, nó sẽ không tìm thấy bất kỳ thư mục .git nào và sẽ kết nối với TFS như bình thường.
Chạy lệnh git từ D:\Projects\TFS-GIT
sẽ sử dụng các tệp giống như Visual Studio ngoại trừ thư mục .git cũng có sẵn. TortoiseGit cũng hoạt động tốt từ thư mục này.