Jeśli nie jesteś jednym z internetowych sklepów internetowych bez zespołu do współpracy, doświadczyłeś frustracji związanej z udostępnianiem plików. Bez względu na to, jak bardzo się starasz, gdy wiele osób pracuje nad jednym projektem bez systemu kontroli wersji, sytuacja staje się chaotyczna .

Jeśli pracujesz z programistami nad budowaniem i wdrażaniem stron internetowych, scalanie szablonów front-end i funkcjonalności back-end może być przerażającą czarną dziurą.

Problemy, takie jak nadpisywanie, utracone pliki i zbyt często spotykane zjawisko "praca nad poprzednią wersją", stale się pojawiają . Po dodaniu funkcjonalności back-end do szablonów, przeraża ich dotykanie w obawie przed zerwaniem czegoś, co programista spędził dużo czasu w drodze do pracy.

Ponadto, nawet jeśli masz wspólne repozytorium, które wszyscy wyciągają z kursów, to przynajmniej jeden członek twojego zespołu zapomniał pobrać najnowsze pliki i zamierza wysadzić w powietrze najnowsze dodatki.

W tym artykule opiszę Git, doskonały system kontroli wersji .

Kontrola Wersji - Szybkie i Brudne Wyjaśnienie

Kontrola wersji (znana również jako Kontrola wersji lub Zarządzanie kontrolą źródła ) to świetny sposób na rozwiązanie problemu z dzieleniem się plikami.

Podstawowa koncepcja jest taka: istnieje jedno główne repozytorium dla wszystkich plików projektu . Członkowie zespołu sprawdzają pliki, wprowadzają zmiany, a następnie ponownie je sprawdzają (lub zatwierdzają ). System kontroli wersji (VCS) automatycznie odnotowuje, kto zmienił pliki, kiedy zostały zmienione, a co z nimi było nowe lub inne.

Prosi również o napisanie małej notatki na temat zmiany, aby wszyscy uczestnicy projektu znali na pierwszy rzut oka, co zrobiliście i dlaczego. Każdy plik będzie miał historię zmian, więc możesz łatwo wrócić do poprzedniej wersji dowolnego pliku, jeśli coś pójdzie nie tak.

Dobry VCS pozwala również scalać zmiany w tym samym pliku . Jeśli Ty i inna osoba pracujesz lokalnie na tym samym pliku w tym samym czasie, po ponownym przesłaniu tych plików do głównego repozytorium system połączy oba zestawy zmian, aby utworzyć nowy i w pełni aktualny plik. Jeśli podczas łączenia pojawią się jakiekolwiek konflikty, podświetli je dla ciebie.

Prawdopodobnie używasz teraz bardzo prymitywnego VCS, aby Twoje pliki były proste. Jeśli jesteś projektantem, wygląda to tak:

dpcwqxg_312gvhkh4s6_b

Kontrola wersji projektanta - NIEPOWODZENIE

Działa to wystarczająco dobrze dla PSD i innych dużych plików binarnych, które tak naprawdę nie nadają się do VCS. Ale jest o wiele lepszy sposób, aby to zrobić, zarządzając kodem źródłowym witryny.

Korzyści z używania systemu kontroli wersji obejmują:

  • Pliki nie mogą być nadpisane
  • Istnieje wspólne repozytorium zawierające wszystkie najnowsze pliki
  • Ludzie mogą pracować na tych samych plikach jednocześnie bez konfliktów
  • W razie potrzeby umożliwia powrót do starszej wersji pliku / projektu
  • Uczynienie programistów bardzo szczęśliwymi

Nawet jeśli nie pracujesz z zespołem, kontrola wersji może być ratunkiem . Tworzenie kopii zapasowych plików to jedna z najłatwiejszych rzeczy, które możesz zrobić, aby uratować się przed utratą pracy lub koniecznością rozpoczęcia od nowa.

Idea VCS wydaje się początkowo zniechęcająca, zwłaszcza, że większość dokumentacji została napisana przez programistów i dla nich . Ale gdy wykonasz ruch, aby włączyć go do obiegu pracy, okaże się, że nie jest tak twardy, jak to wygląda.

dpcwqxg_322grqgzjcz_b

Poznaj Git

OK, więc teraz możesz zobaczyć, dlaczego system kontroli wersji jest niezbędny dla twojego zespołu internetowego. Jeśli zrobisz trochę Googling zobaczysz, że istnieje wiele opcji, w tym SVN, Mercurial, CVS, Bazaar i Git. Każdy z nich może być dobrym rozwiązaniem dla twoich potrzeb i zachęcam cię do zrobienia badań przed wyborem VCS. W tym artykule skupię się na Git , tym, którego używam codziennie. To "wschodząca gwiazda" , która zyskała popularność dzięki silnemu fanowi Linuksa, GitHub i Szyny społeczność.

Git to darmowy open source System kontroli wersji pierwotnie stworzony przez Linus Torvalds na rozwój jądra Linux. Linus to bardzo inteligentny facet; kiedy postanawia rozwiązać problem, nie robi sobie zamieszania. Jednym z wielkich wyróżników Gita jest to, że w przeciwieństwie do SVN i CVS jest to rozproszony system kontroli wersji . Oznacza to, że każdy użytkownik ma pełną kopię danych repozytorium przechowywanych lokalnie na swoim komputerze. Co jest w tym wspaniałego? Kilka rzeczy:

    • Wszystko jest lokalne , więc możesz pracować w trybie offline
    • Nie ma jednego punktu awarii . Nie opiera się na jednym centralnym serwerze, który może ulec awarii i nagrać, biorąc jedyne repozytorium dla swojego projektu.
    • Ponieważ nie musi on stale komunikować się z centralnym serwerem, procesy działają znacznie szybciej

      Git ma nieco ostrzejszą krzywą uczenia się niż SVN , ale opłaca się. Zastanów się, jak podekscytowani będą Twoi znajomi z programisty, gdy powiesz im, że korzystasz z nowej siły, jaką jest Git! Z całą powagą nie sądzę, aby krzywa uczenia się była tak stroma. SVN było dla mnie równie mylące na początku, i natrafiłem na więcej problemów z dnia na dzień, kiedy go używam.

      Instalacja Gita nie jest zabawą i grami. Miałem szczęście, że mam kompetentnego programistę gotowego do pomocy, ale w Internecie jest mnóstwo zasobów, które pozwolą ci przejść przez to. Będzie działał na komputerach PC, Mac lub Linux, chociaż instalacja dla Linuksa i OSX jest znacznie łatwiejsza niż dla Windows.

      Możesz pobrać najnowszą wersję Git tutaj Gdy już będziesz miał pliki, spróbuj tego Szybka porada aby zacząć pracę z procesem instalacji. W przypadku użytkowników systemu Windows krok po kroku wizualny przewodnik powinien być pomocny. Użytkownicy komputerów Mac, wypróbuj ten przewodnik GitHub

      Pierwsze kroki

      Po zainstalowaniu Git możesz stworzyć swoje repozytorium . Aby zmienić istniejący folder w repozytorium Git, użyj następujących poleceń w oknie Terminala lub Wiersza polecenia:

      cd path/to/projectgit initgit add .git commit

      To, co Git musi zrobić, to:

      • Zainicjuj ten katalog
      • Dodaj wszystko w nim - wszystkie pliki i podkatalogi
      • Zatwierdź lub zapisz wszystkie aktualne zmiany w repozytorium

      Jeśli nie znosisz wiersza poleceń, możesz to zrobić również za pomocą GUI Git . To nie jest najładniejsza rzecz, jaką kiedykolwiek widziałeś, ale jest tam, jeśli jej potrzebujesz.

      Zrzut ekranowy interfejsu GUI Git

      Przykładowy przepływ pracy Git

      Obecnie używam Git na komputerze Mac do pracy z aplikacją internetową z wieloma programistami stron. Mamy wersję "master" kodu, do którego przenosimy nasze pliki, i każdy z nich wykonuje lokalnie pełną kopię. Każdego dnia mój przepływ pracy przebiega mniej więcej tak:

      dpcwqxg_323gnhgbwg3_b

      1. Terminal pożarowy . Uruchom moją lokalną bazę danych mysql (aplikacja, którą tworzymy, może działać lokalnie na moim komputerze).
      2. Użyj terminala, aby sprawdzić najnowsze zmiany za pomocą polecenia "git pull" . Otrzymuję wszystkie zmiany dokonane przez innych członków zespołu i sprawdzone w naszym głównym repozytorium.
      3. Otwórz projekt w TextMate i wprowadź moje zmiany.
      4. Zatwierdź zmiany i dodaj moje notatki . To tylko zobowiązuje ich lokalnie. Często popełniam, prawdopodobnie dziesięć lub więcej razy dziennie. Pomaga to utrzymać mnie na dobrej drodze.
      5. Przekaż moje zmiany do głównego repozytorium za pomocą "git push" . Teraz inni członkowie zespołu mogą sprawdzić i zobaczyć moje zmiany. Powinieneś to zrobić co najmniej raz dziennie lub po każdym ważnym dodatku.

      Wszystkie te czynności można wykonać łatwo w oknie Terminala , ale jestem wizualną dziewczyną. Z tego powodu używam GitX , Git gui dla OSX , aby zrobić moje zatwierdzenia. Ciągle pcham i przeciągam Terminal, ale GitX ułatwia mi organizowanie moich zobowiązań i objęciem głowy tym, co robię.

      Zrzut ekranu GitX
      U góry pokazuje, jakie zmiany zostały wprowadzone w plikach. W lewym dolnym rogu znajduje się lista nieobjętych zmianami . Aby je zatwierdzić, przeciągnij jeden lub więcej plików do obszaru "Zmiany etapowe" po prawej stronie, wpisz swój komunikat zatwierdzenia i naciśnij przycisk Zatwierdź.

      Jeśli przejdę do widoku drzewa, widzę, co zostało przekazane do repozytorium. Jeśli moje pliki nie były aktualne w plikach głównych, zielone i niebieskie tagi na górze byłyby niezsynchronizowane. GitNub oferuje podobny interfejs w stylu Mac.

      Zrzut ekranu GitX
      Jest też świetny Pakiet TextMate dostępny. Dzięki niemu możesz naciskać, ciągnąć, zatwierdzać i wykonywać więcej bez opuszczania TextMate. Jest niezwykle wydajny.

      TextMate z zainstalowanym pakietem Git

      Ucz się więcej

      Git Cheat Sheet

      Git Cheat Sheet autorstwa Zack Rusin

      Powyżej: Zack Rusin's Git Cheat Sheet

      Wciąż jestem nowicjuszem w Git, więc podrapałem się tylko o to, co możesz z tym zrobić, ale zdecydowanie widziałem światło, jeśli chodzi o kontrolę wersji i cieszę się, że w końcu dotarłem do wóz dla orkiestry.

      Aby dowiedzieć się więcej o korzystaniu z Git, sprawdź te wspaniałe zasoby:

      Intros To Git

      Poznajemy Git
      Wpis w Wikipedii na Git
      Dlaczego Git jest lepszy niż X
      TED Linusa Torvalda o Git
      Wycieczka po Git: podstawy
      Gotowy Git

      Cheat Sheets / Tips

      37 Sygnały Git Resources
      Git For The Lazy
      Instrukcja obsługi Git
      Gaggle of Git Tips
      GitHub's Git Cheat Sheet
      Git Magic

      Intros do kontroli wersji

      Kontrola wersji dla projektantów
      Wizualny przewodnik po kontroli wersji
      Wpis w Wikipedii dotyczący kontroli wersji
      Wybór systemu kontroli wersji rozproszonej
      Zastanawiam się, co robi ten przycisk (lista osobna)


      Napisany specjalnie dla WDD przez Mindy Wagner. Jest projektantką stron internetowych w Viget Labs i przez ponad 8 lat pracowała zarówno w druku, jak iw projektowaniu stron internetowych. Ukończyła studia z zakresu Elektronicznej Sztuki Medialnej i Komunikacji w Instytucie Politechnicznym Rensselaer.

      Czy używasz Git lub innego oprogramowania do kontroli wersji? Podziel się z nami swoim doświadczeniem!