Có thể thêm tệp .gitignore
vào số .gitignore
không?Thêm .gitignore vào gitignore
.gitignore
Không làm việc mặc dù
Tôi không muốn nhìn thấy nó trong các tập tin đã chỉnh sửa
Có thể thêm tệp .gitignore
vào số .gitignore
không?Thêm .gitignore vào gitignore
.gitignore
Không làm việc mặc dù
Tôi không muốn nhìn thấy nó trong các tập tin đã chỉnh sửa
Tệp .gitignore
là để ngăn chặn tất cả những người cộng tác trong dự án bao gồm một số tệp phổ biến trong dự án, chẳng hạn như đã tạo các tệp bộ nhớ cache. Vì vậy, bạn không nên bỏ qua .gitignore
, vì mục đích của nó là để được bao gồm trong repo.
Nếu bạn muốn bỏ qua các tệp chỉ trong một repo nhưng không cam kết danh sách bỏ qua, bạn có thể thêm chúng vào .git/info/exclude
trong repo đó.
Nếu bạn muốn bỏ qua một số tập tin trên mỗi repo trên máy tính của bạn, bạn có thể tạo ra các tập tin ~/.gitignore_global
và sau đó chạy
git config --global core.excludesfile ~/.gitignore_global
Có bạn có thể; bạn vẫn thấy nó trong các tệp đã chỉnh sửa vì nó vẫn được theo dõi bởi git và các tệp được theo dõi bởi git luôn được đánh dấu là đã sửa đổi ngay cả khi chúng ở trong .gitignore. Vì vậy, chỉ cần untrack nó.
Nhưng tại sao không cam kết hoặc đặt lại các thay đổi bạn có trên đó? Đó là một cách tốt hơn nhiều để loại bỏ nó khỏi tình trạng ... Cũng lưu ý rằng bất kỳ bản sao mới của bạn repo sẽ phải thêm .gitignore
của nó, có thể gây phiền nhiễu.
Không thực sự là lý do chính đáng để làm điều này. Nếu bạn muốn các tệp bị bỏ qua chỉ cho bản sao của bạn, hãy thêm chúng vào .git/info/exclude, chứ không phải .gitignore
Một .gitignore thể bỏ qua bản thân nếu nó chưa bao giờ được kiểm tra trong:
[email protected]:~$ git --version
git version 1.7.9.5
[email protected]:~$ git init temp
Initialized empty Git repository in /home/mhaase/temp/.git/
[email protected]:~$ cd temp
[email protected]:~/temp$ touch .gitignore foo bar baz bat
[email protected]:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# bar
# bat
# baz
# foo
[email protected]:~/temp$ echo "foo" >> .gitignore
[email protected]:~/temp$ echo ".gitignore" >> .gitignore
[email protected]:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# bar
# bat
# baz
nothing added to commit but untracked files present (use "git add" to track)
Nếu bạn đăng ký .gitignore (trước khi bạn yêu cầu bỏ qua), sau đó nó sẽ luôn hiển thị trong trạng thái git, ngay cả khi sau này bạn sửa đổi nó để bỏ qua chính nó.
Chính xác, đây là trường hợp của tôi. Tôi muốn có một '.gitignore' cục bộ để làm việc với' git-svn', cái mà không ai nên thấy. Vì vậy, tôi chỉ cần thêm nó vào chính nó và nó chỉ làm việc. Nhưng sau đó tôi googled để xem nếu một số người căng thẳng sẽ giải thích cho người khác làm thế nào điều này là "xấu". Câu trả lời này nên được chấp nhận, và sau đó tôi sẽ upvote '.git/info/exclude' gợi ý cũng. Vì vậy, nó chỉ cần được untracked ... Không phải là rất đáng ngạc nhiên, ít nhất là nếu bạn đã từng bị "lật đổ" (svn). –
Tôi có tệp '.gitignore' được sao lưu trước. Sau đó, tôi sử dụng 'git rm .gitignore' và cam kết thay đổi đó. Cuối cùng, thêm và commit '.gitignore' một lần nữa với rule cho' .gitignore'. Nó hoạt động! – qzhang
tại sao bạn muốn thực hiện điều đó? chỉ cam kết thay đổi của bạn. '.gitignore' được cho là một phần của kho lưu trữ của bạn, liệt kê các mẫu tệp là rác cho dự án. – KurzedMetal
'.gitignore' phải là một phần của kho lưu trữ của bạn, để mọi người trong nhóm của bạn bỏ qua hoặc kiểm tra trong cùng một tệp. Chỉ vì '.gitignore' nằm trong thư mục mã của bạn ở đâu đó không có nghĩa là bạn phải triển khai nó. –
có thể trùng lặp của [Làm cách nào để yêu cầu Git bỏ qua ".gitignore"?] (Http://stackoverflow.com/questions/767147/how-do-i-tell-git-to-ignore-gitignore) –