Jak mogę zignorować foldery bin i obj z repozytorium git?

113

Chcę zignorować foldery bin i obj z mojego repozytorium git. Jak się dowiedziałem, w .gitignore nie ma łatwego sposobu na zrobienie tego. Więc czy jest jakiś inny sposób? Używasz czystego rozwiązania w programie Visual Studio?

chester89
źródło
U mnie działa dobrze - dodaję słowa „bin” i „obj” jako oddzielne wiersze w moim pliku .gitignore
Tim Robinson
1
A jeśli rozwiązanie składa się z wielu projektów, a nie tylko z jednego?
chester89
Czy możesz opublikować dokładnie to, czego próbujesz, a co nie działa. obja binna najwyższym poziomie .gitignore powinno ignorować wszystko, co jest wywołane objlub binna wszystkich niższych poziomach.
CB Bailey,
2
Rozumiem, że zawartość .gitignore ma zastosowanie w każdym podkatalogu, więc zwykłe „bin” i „obj” działają wszędzie. W odpowiedzi opublikuję mój .gitignore.
Tim Robinson

Odpowiedzi:

166

Nie jestem pewien, dlaczego to nie działa dla Ciebie. Jeśli to pomoże, oto typowy plik .gitignore z jednego z moich projektów Visual Studio / git:

*.suo
*.user
_ReSharper.*
bin
obj
packages
Tim Robinson
źródło
4
Dodam też, packagesże łatwo można je ponownie pobrać z NuGet
Michał Ciechan
1
nie działa, gdy najpierw zatwierdzasz wszystkie pliki, a następnie dodajesz plik .gitignore do repozytorium i zatwierdzasz go. Nowo zignorowane pliki nadal będą wyświetlane jako zmodyfikowane (na przykład w przypadku przebudowy).
vlad2135
7
Niedawno korzystałem z sugerowanego pliku .gitignore znalezionego tutaj: github.com/github/gitignore/blob/master/VisualStudio.gitignore z wielkim sukcesem.
BigTFromAZ
1
@BigTFromAZ Należy dodać, że jako odpowiedź jest znacznie lepszy niż zaakceptowany!
Avrohom Yisroel
62

po prostu dokonanie wpisu w gitignore może nie ignorować plików, może być konieczne jego zatwierdzenie. Użyłem następującej metody i pracowałem dla mnie

git rm -r --cached .

git add .

następnie

git commit -am "Remove ignored files"

Jednak to ignoruje mój folder skryptów, który umieściłem później w repozytorium.

Arvind Krmar
źródło
Działa OK. Ale Vscode nie mógł znaleźć zmodyfikowanego kodu. Sam coś zmieniłem i zepchnąłem na mistrza pochodzenia. Wtedy zadziałało. :)
Dentrax
Mam rozwiązanie z wieloma projektami iz jakiegoś powodu git dodaje. nigdy się nie kończy.
Chucky,
Świetny Arvind !, początkujący programista połączył wszystkie bin / i obj / z naszą gałęzią roboczą (pomijam zasady ... nie wiem jak!) I to był sposób na usunięcie wszystkich tych plików z repozytorium.
equintas
Newbie me (przynajmniej po to, żeby git), zrobiłem to sobie. Nigdy nie pomyślałem o rm, a następnie dodaniu z powrotem, ponieważ nie rozumiałem, że git rm usuwa tylko elementy z indeksu, a nie z dysku. Więc jeśli dobrze rozumiem, pierwsze dwa polecenia przebudowały indeks, usuwając wszystko z indeksu i dodając wszystko z powrotem, stosując filtry .gitignore. Następnie zatwierdzenie sprawia, że ​​jest to w repozytorium. Bardzo mądry.
BigTFromAZ
Wspaniały! To zadziałało dla mnie doskonale. wszystkie pliki .vs, obj, bin i inne ignorowane pliki.
Stanley Okpala Nwosa
11

Jeśli używasz programu Visual Studio, możesz to zrobić w prosty sposób.

  1. Otwórz Team Explorer
  2. Kliknij ustawienia
  3. Ustawienia repozytorium
  4. W sekcji Ignoruj ​​& plik atrybutów kliknij Dodaj obok Ignoruj ​​plik.

Utworzy domyślny plik .gitignore, który zignoruje większość popularnych folderów i plików używanych przez framework / język.

wprowadź opis obrazu tutaj

Nilay
źródło
3
  • Znajdź foldery bini objw Eksploratorze Windows
  • Kliknij prawym przyciskiem myszy TortoiseGit> Usuń i dodaj do listy ignorowanych> bin
  • Kliknij prawym przyciskiem myszy TortoiseGit> Usuń i dodaj do listy ignorowanych> obj
Denys Wessels
źródło
2

Jeśli chcesz zignorować bin i obj we WSZYSTKICH projektach, możesz użyć (ze strony podręcznika gitignore )

Wzorce odczytywane z pliku określonego przez zmienną konfiguracyjną core.excludesfile.

core.excludesfile można ustawić w pliku konfiguracyjnym, który jest ~ / .gitconfig w systemie Unix - nie wiem, gdzie jest pod Windows

mmmmmm
źródło
Dobra informacja, ale miał na myśli wszystkie jego projekty Visual Studio w tym rozwiązaniu, a nie WSZYSTKIE projekty na komputerze.
AhHatem,
2
Chociaż najprawdopodobniej nigdy nie będzie zainteresowany zatwierdzeniem folderów bini objw ŻADNYM rozwiązaniu. :)
MEMark
1

Jeśli wcześniej zatwierdziłeś foldery bin i obj, dodanie ich do .gitignore nie spowoduje ich automatycznego usunięcia. Musisz zatwierdzić usunięcie tych folderów, na przykład, git rm -rf objlub git rm -rf yourProject/obj następnie zatwierdzić usunięcie

Raphael Pinel
źródło
0

Jeśli spróbujesz przejść przez drzewo źródłowe i nadal nie pojawiają się pliki ignorowania, przejdź do narzędzia -> opcja-> Git, a następnie wybierz lokalizację pliku .gitignore wprowadź opis obrazu tutaj

makdu
źródło
0

W moim przypadku foldery bin i obj zostały zagnieżdżone w folderze Project z głównego pliku .gitignore, więc musiałem dodać go jak poniżej:

[PROJECT_FOLDER_NAME] / bin
[PROJECT_FOLDER_NAME] / obj

Zastąp PROJECT_FOLDER_NAME nazwą folderu projektu

pk_code
źródło