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?
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:
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).
@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.
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.
Otwórz Team Explorer
Kliknij ustawienia
Ustawienia repozytorium
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.
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
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
obj
abin
na najwyższym poziomie .gitignore powinno ignorować wszystko, co jest wywołaneobj
lubbin
na wszystkich niższych poziomach.Odpowiedzi:
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:
źródło
packages
że łatwo można je ponownie pobrać z NuGetpo 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
następnie
Jednak to ignoruje mój folder skryptów, który umieściłem później w repozytorium.
źródło
Jeśli używasz programu Visual Studio, możesz to zrobić w prosty sposób.
Utworzy domyślny plik .gitignore, który zignoruje większość popularnych folderów i plików używanych przez framework / język.
źródło
bin
iobj
w Eksploratorze Windowsźródło
Jeśli chcesz zignorować bin i obj we WSZYSTKICH projektach, możesz użyć (ze strony podręcznika gitignore )
core.excludesfile można ustawić w pliku konfiguracyjnym, który jest ~ / .gitconfig w systemie Unix - nie wiem, gdzie jest pod Windows
źródło
bin
iobj
w ŻADNYM rozwiązaniu. :)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 obj
lubgit rm -rf yourProject/obj
następnie zatwierdzić usunięcieźródło
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
źródło
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
źródło