Đã có một số câu trả lời tuyệt vời rồi, nhưng tình hình của tôi thật tẻ nhạt. Tôi đã chỉnh sửa nguồn của phần mềm PLM (quản lý vòng đời sản phẩm) đã cài đặt trên Win10 và sau đó đã quyết định, "Có lẽ tôi nên biến nó thành một repo git."
Vì vậy, tùy chọn bộ đệm sẽ không hoạt động đối với tôi, trực tiếp. Đăng bài cho những người khác có thể đã thêm kiểm soát nguồn SAU khi thực hiện một loạt công việc ban đầu VÀ .gitignore
không hoạt động NHƯNG, bạn có thể sợ mất một loạt công việc nên git rm --cached
không phù hợp với bạn.
! QUAN TRỌNG: Điều này thực sự là do tôi đã thêm git quá muộn vào một "dự án" quá lớn và dường như bỏ qua .gitignore của tôi. Tôi đã KHÔNG cam kết, bao giờ. Tôi có thể git đi với điều này :)
Đầu tiên, tôi chỉ làm:
rm -rf .git
rm -rf .gitignore
Sau đó, tôi phải có một bức tranh về những thay đổi của mình. Một lần nữa, đây là một sản phẩm cài đặt mà tôi đã thực hiện thay đổi. Quá muộn cho một cam kết đầu tiên của nhánh chủ thuần túy. Vì vậy, tôi cần một danh sách những gì tôi đã thay đổi kể từ khi tôi cài đặt chương trình bằng cách thêm > changed.log
vào một trong các cách sau:
PowerShell
# Get files modified since date.
Get-ChildItem -Path path\to\installed\software\ -Recurse -File | Where-Object -FilterScript {($_.LastWriteTime -gt '2020-02-25')} | Select-Object FullName
Bash
# Get files modified in the last 10 days...
find ./ -type f -mtime -10
Bây giờ, tôi có danh sách những gì tôi đã thay đổi trong mười ngày qua (chúng ta đừng thực hiện những thực tiễn tốt nhất ở đây ngoài việc nói, vâng, tôi đã làm điều này với chính mình).
Để có một khởi đầu mới, bây giờ:
git init .
# Create and edit .gitignore
Tôi đã phải so sánh danh sách đã thay đổi của mình với .gitignore đang phát triển của mình, chạy git status
khi tôi cải thiện nó, nhưng các chỉnh sửa của tôi trong .gitignore được đọc trong khi tôi đi.
Cuối cùng, tôi đã có danh sách các thay đổi mong muốn! Trong trường hợp của tôi, đó là bản tóm tắt - một số chủ đề hoạt động cùng với cấu hình sever xml dành riêng cho việc chạy hệ thống dev với phần mềm này mà tôi muốn đặt lại trong một repo để các nhà phát triển khác lấy và đóng góp vào ... Đây sẽ là chi nhánh chính của chúng tôi, vì vậy cam kết, thúc đẩy, và cuối cùng là CHI NHÁNH cho công việc mới!
.gitignore
tập tin của bạn sử dụngANSI
hoặcUTF-8
mã hóa. Nếu nó sử dụng cái gì đó khácUnicode BOM
, thì Git không thể đọc tệp.