Tôi có một kho lưu trữ Bitbucket Git được quản lý bằng Sourcetree.
Tôi có hai thư mục mà tôi muốn cam kết, nhưng tôi cần phải bỏ qua tất cả các tệp trong các thư mục này, vì chúng chỉ chứa các tệp tạm thời.
Làm thế nào tôi có thể làm điều đó?
Tôi có một kho lưu trữ Bitbucket Git được quản lý bằng Sourcetree.
Tôi có hai thư mục mà tôi muốn cam kết, nhưng tôi cần phải bỏ qua tất cả các tệp trong các thư mục này, vì chúng chỉ chứa các tệp tạm thời.
Làm thế nào tôi có thể làm điều đó?
Câu trả lời:
Thêm cái này vào .gitignore:
*
!.gitignore
.gitginore
là một tệp thông thường, chỉ cần tạo nó trong thư mục mà nội dung bạn muốn bỏ qua.
Đối với người dùng Sourcetree: Nếu bạn muốn bỏ qua một thư mục cụ thể, chỉ cần chọn một tệp từ thư mục này, nhấp chuột phải vào nó và thực hiện "Bỏ qua ...". Bạn sẽ có một menu bật lên nơi bạn có thể bỏ qua "Bỏ qua mọi thứ bên dưới: <THƯ MỤC KHÔNG MONG MUỐN CỦA BẠN>"
Nếu bạn có tùy chọn "Bỏ qua" chuyển sang màu xám, bạn phải chọn tùy chọn "Dừng theo dõi". Sau đó, tệp sẽ được thêm vào Tệp có dấu trừ trên biểu tượng nền màu đỏ và biểu tượng của tệp trong danh sách Tệp chưa được phân bố sẽ chuyển thành dấu hỏi trên nền màu tím. Bây giờ trong danh sách tệp chưa được phân trang , tùy chọn "Bỏ qua" được bật lại. Chỉ cần làm như mô tả ở trên.
Theo như tôi biết, Git không theo dõi các thư mục, chỉ các tệp - vì vậy các thư mục trống (hoặc các thư mục mà tất cả các tệp bị bỏ qua) không thể được cam kết. Ví dụ: nếu bạn cần thư mục hiện diện do một số bước trong quá trình xây dựng của bạn, có lẽ bạn có thể nhờ công cụ xây dựng của mình tạo nó thay thế? Hoặc bạn có thể đặt một tệp trống, không được bỏ qua trong thư mục và cam kết nó.
Sau khi đập đầu vào vấn đề này trong ít nhất một giờ, tôi đưa ra câu trả lời này để cố gắng mở rộng ý kiến của một số người khác đã đưa ra. Để bỏ qua một thư mục / thư mục, hãy thực hiện như sau: nếu bạn không có tệp .gitignore trong thư mục gốc của dự án (tên chính xác là ".gitignore"), hãy tạo một tệp văn bản giả trong thư mục bạn muốn loại trừ. Bên trong Cây Nguồn, nhấp chuột phải vào nó và chọn Bỏ qua. Bạn sẽ nhận được một cửa sổ bật lên trông như thế này.
Chọn "Mọi thứ bên dưới" và chọn thư mục bạn muốn bỏ qua từ danh sách thả xuống. Thao tác này sẽ tạo tệp .gitignore trong thư mục gốc của bạn và đặt thông số thư mục vào đó.
Nếu bạn đã có thư mục .gitignore trong thư mục gốc của mình, bạn có thể làm theo cách tương tự ở trên hoặc bạn chỉ có thể chỉnh sửa tệp .gitignore và thêm thư mục bạn muốn loại trừ. Nó chỉ là một tập tin văn bản. Lưu ý rằng nó sử dụng dấu gạch chéo về phía trước trong tên đường dẫn thay vì dấu gạch chéo ngược, như người dùng Windows chúng ta đã quen với. Tôi đã thử tạo tệp văn bản .gitignore bằng tay trong Windows Explorer, nhưng nó không cho phép tôi tạo tệp không có tên (tức là chỉ có phần mở rộng).
Lưu ý rằng việc thêm .gitignore và đặc tả tệp sẽ không ảnh hưởng đến các tệp đã được theo dõi. Nếu bạn đã theo dõi những thứ này, bạn sẽ phải ngừng theo dõi chúng. (Nhấp chuột phải vào thư mục hoặc tệp và chọn Dừng Theo dõi.) Sau đó, bạn sẽ thấy chúng thay đổi từ có biểu tượng màu xanh lá cây / sạch hoặc hổ phách / đã thay đổi thành biểu tượng màu đỏ / bị loại bỏ. Trong lần cam kết tiếp theo của bạn, các tệp sẽ bị xóa khỏi kho lưu trữ và sau đó xuất hiện với biểu tượng màu xanh lam / bị bỏ qua. Một cộng tác viên khác đã hỏi tại sao Bỏ qua bị vô hiệu hóa đối với các tệp cụ thể và tôi tin rằng đó là vì anh ta đang cố gắng bỏ qua một tệp đã được theo dõi. Bạn chỉ có thể bỏ qua tệp có biểu tượng dấu chấm hỏi màu xanh lam.
Như những người khác đã đề cập: git không theo dõi các thư mục, chỉ theo dõi các tệp.
Bạn có thể đảm bảo một thư mục tồn tại bằng các lệnh sau (hoặc logic tương đương):
echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"
Sự tồn tại của tệp sẽ có nghĩa là bất kỳ ai kiểm tra kho lưu trữ sẽ có thư mục.
Nội dung của tệp gitignore sẽ có nghĩa là mọi thứ trong đó đều bị bỏ qua
Bạn không cần phải bỏ qua chính tệp .gitignore . Đó là một quy tắc sẽ không phục vụ mục đích nào khi đã cam kết.
HOẶC LÀ
nếu bạn muốn giữ tất cả các định nghĩa bỏ qua ở cùng một nơi, bạn có thể tạo .gitignore trong thư mục gốc của dự án với nội dung như sau:
*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder
và để đảm bảo các thư mục tồn tại
touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"
"bất cứ điều gì" theo nghĩa đen có thể là bất cứ điều gì. Các tên thường được sử dụng là .gitignore, .gitkeep, trống.
Bỏ qua thư mục đầy đủ trên cây nguồn.
Just Open Repository >Repository setting > Edit git ignore File and
you can rite some thing like this :
*.pdb
*.bak
*.dll
*.lib
.gitignore
packages/
*/bin/
*/obj/
Đối với thư mục bin và thư mục obj chỉ cần viết: * / bin / * / obj /
Trong Sourcetree: Chỉ cần bỏ qua một tệp trong thư mục được chỉ định. Sourcetree sẽ hỏi bạn có muốn bỏ qua tất cả các tệp trong thư mục đó không. Thật hoàn hảo!
*
phương tiện bỏ qua tất cả các file, và các!.gitignore
phương tiện không bỏ qua các tập tin bản thân