Nie każdy plik w twoim projekcie powinien mieć kontrolę wersji. Dowiedz się, jakie typy plików należy wykluczyć z repozytorium źródłowego.
Kontrola wersji jest niezbędnym narzędziem do śledzenia zmian w bazie kodu, ale nie zawsze chcesz śledzić każdy plik.
Aby uniknąć bałaganu i zmniejszyć ryzyko rozpowszechniania poufnych informacji, możesz użyć pliku o nazwie .gitignore. Ten plik określa, które pliki i katalogi Git nie powinny indeksować.
Określenie, które pliki dołączyć do .gitignore, może być wyzwaniem, zwłaszcza jeśli dopiero zaczynasz programować. Dowiedz się, które pliki powinieneś dodać do swojego .gitignore, aby usprawnić przepływ pracy w Git.
Tworzenie pliku .gitignore
Aby Twój plik .gitignore miał jakikolwiek efekt, musisz mieć zainicjowany Git w swoim projekcie.
Możesz zainicjować Git, uruchamiając poniższe polecenie w swoim terminalu:
start git
To polecenie tworzy nowe repozytorium Git dla twojego projektu, w ukrytym podkatalogu „.git”, który zawiera wszystkie pliki i katalogi potrzebne do kontroli wersji twojego projektu.
Aby uruchomić to polecenie, musisz mieć Git zainstalowany w twoim systemie.
Następnie utwórz plik .gitignore, uruchamiając poniższe polecenie:
dotykaćgitignore
Uruchomienie powyższego polecenia tworzy nowy plik „.gitignore” w bieżącym katalogu. Możesz wykluczyć plik z Git, dodając nazwę pliku lub ścieżkę do pliku (jeśli plik znajduje się w innym katalogu niż katalog gitignore plik).
Git nie musi śledzić każdego pliku w twoim projekcie, a śledzenie niektórych plików może prowadzić do nieprzewidzianych problemów. Oto niektóre z plików, które powinieneś dodać do swojego .gitignore.
1. Pliki konfiguracyjne
Pliki konfiguracyjne przechowują ustawienia i inne parametry używane przez aplikacje do definiowania i dostosowywania ich zachowania. Pliki te często przechowują parametry połączenia z bazą danych, klucze API i inne poufne informacje, których nie należy ujawniać w repozytorium Git.
Jeśli umieścisz pliki konfiguracyjne w swoim repozytorium, każdy, kto ma do nich dostęp, będzie mógł przeglądać ich zawartość. Może to obejmować poufne informacje, które mogą prowadzić do naruszeń bezpieczeństwa i innych problemów.
Aby wykluczyć pliki konfiguracyjne z repozytorium Git, dodaj określone nazwy plików lub folderów do swojego gitignore plik.
Na przykład możesz dodać poniższą linię do swojego gitignore plik do zignorowania a .env plik.
.env
2. Buduj artefakty
Artefakty kompilacji to skompilowane lub wygenerowane pliki utworzone podczas kompilowania projektu. Pliki te zazwyczaj znajdują się w formacie "cel" Lub "zbudować" informator.
Artefakty kompilacji mogą obejmować skompilowane klasy Java, pliki JAR, pliki WAR, pliki binarne, pakiety dystrybucyjne, raporty, pliki dziennika i inne generowane podczas procesu kompilacji.
Generalnie dobrą praktyką jest wykluczanie artefaktów kompilacji z repozytorium Git, ponieważ mogą one być bardzo duże. Mogą być również mniej przenośne niż pliki źródłowe, odpowiednie tylko dla określonego środowiska. Włączenie ich do repozytorium może zwiększyć rozmiar repozytorium i spowolnić klonowanie i pracę z nim.
Aby wykluczyć artefakty kompilacji z repozytorium Git, dodaj plik "cel/" Lub "zbudować/" katalog do twojego gitignore plik.
Na przykład:
# gitignore
cel/
zbudować/
3. Zintegrowane pliki środowiska programistycznego
Pliki Integrated Development Environment (IDE) to pliki konfiguracyjne, metadane projektu i inne pliki generowane przez IDE podczas tworzenia lub otwierania projektu. Te pliki są specyficzne dla każdego IDE. Twoje IDE używa tych plików do konfigurowania ustawień projektu.
Te pliki są niepotrzebne do budowania lub uruchamiania aplikacji i często mogą powodować problemy, jeśli zostaną przekazane do udostępnionego repozytorium Git. Na przykład różne osoby w twoim zespole mogą używać różnych IDE lub wersji, a zatwierdzanie plików specyficznych dla IDE może powodować konflikty scalania i utrudniać współpracę nad projektem.
Ponieważ te pliki są specyficzne dla środowiska IDE, pliki, które mają zostać uwzględnione w pliku gitignore plik będzie zależał od twojego IDE. Tu są Rekomendacje .gitignore GitHuba dla niektórych popularnych IDE. Możesz wyszukać wybrane IDE i dodać opisane pliki do swojego gitignore plik.
4. Pliki zależności i pakietów
Pliki zależności i pakietów to pliki zawierające informacje o zależnościach i pakietach używanych przez aplikację. Różne narzędzia do budowania, takie jak Menedżer pakietów węzłów (npm), wygeneruj te pliki.
Na przykład, jeśli użyjesz npm do zarządzania zależnościami dla projektu JavaScript, utworzy to „moduły_węzłów" w katalogu głównym twojego projektu. Katalog zawiera wszystkie zainstalowane zależności dla twojego projektu.
Ten katalog może stać się bardzo duży, zwłaszcza jeśli projekt ma wiele zależności lub niektóre zależności mają duże rozmiary plików. Wyłączając „moduły_węzłów" z repozytorium Git, możesz zachować go w czystości i zmniejszyć jego rozmiar.
Aby uniknąć dodawania „moduły_węzłów" do swojego repozytorium Git, dodaj jego nazwę do pliku .gitignore:
#.gitignore
node_modules/
5. Pliki systemu operacyjnego
Twój system operacyjny i inne narzędzia systemowe mogą generować pliki podczas normalnego użytkowania. Mogą to być pliki dziennika, pliki tymczasowe i pliki konfiguracji systemu. Przykładem jest Thumbs.db plik w systemie Windows i jego odpowiednik w systemie macOS, plik .DS_Store plik.
Generalnie dobrą praktyką jest wykluczanie plików systemu operacyjnego z repozytorium Git, ponieważ one są specyficzne dla lokalnego środowiska i mogą się różnić w zależności od różnych komputerów i sposobu działania systemy.
GitHub zalecił wytyczne .gitignore dla Okna, System operacyjny Mac, I Linuks.
Znaczenie kontroli wersji
Korzystanie z kontroli wersji może znacznie usprawnić przepływ pracy i zmniejszyć liczbę błędów i konfliktów, które mogą wystąpić podczas pracy z bazą kodu. Dzięki kontroli wersji możesz łatwo śledzić zmiany w kodzie, przeglądać je i bezproblemowo współpracować z członkami zespołu.
Należy jednak zawsze wykluczać niektóre pliki, takie jak pliki konfiguracyjne, pliki IDE i pliki systemu operacyjnego. Zmniejszy to rozmiar repozytorium i zapobiegnie wyciekowi poufnych informacji.