Współpracujemy z niektórymi programistami (pisarzami), którzy muszą przyczynić się do jednego z naszych projektów.
Teraz po prostu nie podoba im się pomysł użycia Gita (lub czegoś podobnego) do wersji kontrolującej ich pracę. Myślę, że dzieje się tak, ponieważ po prostu nie warto oplatać głowy pokręconymi koncepcjami kontroli wersji. (kiedy po raz pierwszy zapoznałem ich z rozgałęzianiem i łączeniem - wyglądali, jakbym ich obrażał).
Teraz nie jesteśmy w stanie ich edukować ani przekonać do korzystania z nich. Po prostu staramy się znaleźć alternatywy, aby uzyskać dostęp do wersji całej ich pracy (czego potrzebujemy) - i uzyskać łatwy przepływ pracy i skoncentrować się na tym, co robią.
Wpadłem na kilka pomysłów ...
- każ im zapisywać swoją pracę jako osobny plik za każdym razem, gdy dokonają nietrywialnych zmian, a następnie użyj diff po naszej stronie, aby śledzić zmiany.
- napisać program (w języku Python), który w jakiś sposób implementuje „kamienie milowe” w CSSEdit.
O projekcie:
Jest to system przetwarzania języka naturalnego (napisany w C + Python). Zatrudniliśmy kilku pisarzy, aby przygotowali dane wejściowe dla systemu w różnych językach. Wraz z rozwojem oprogramowania potrzebowalibyśmy tych pisarzy, aby wprowadzali zmiany w swoich danych wejściowych (artykułach). Czasami zmiany są bardzo małe (słowo lub dwa), a innym razem duże.
Powodem, dla którego musimy kontrolować te zmiany, jest to, że każda mała / duża zmiana danych wejściowych może radykalnie zmienić dane wyjściowe systemu.
źródło
Odpowiedzi:
Wynika to prawdopodobnie z tego, że rozgałęzianie i scalanie to zaawansowane koncepcje i nieskończenie mniej przydatne niż zwykłe śledzenie zmian.
Dlaczego więc nie wyjaśnić po prostu „zatwierdzenia” (zapisania) i „aktualizacji”? Dwie naprawdę proste koncepcje. Jestem pewien, że możesz to wyjaśnić w mniej niż 10 minut.
Jeśli naprawdę chcesz używać oddzielnych gałęzi i podobnych rzeczy, możesz wykonać tę część samodzielnie, bez angażowania ich w to.
źródło
Dość niekonwencjonalnym podejściem byłoby po prostu użycie Dropbox . Poproś autorów o zapisanie plików w katalogu dropbox, a otrzymasz wersję i kopię zapasową za darmo. Ponadto autorzy zasadniczo nie mają krzywej uczenia się.
W przypadku git brzmi to tak, jakby w końcu i tak dostarczysz autorom poprawne wersje gałęzi, więc po prostu umieść repozytorium git w Dropbox i zajmij się tworzeniem gałęzi i scalaniem dla autorów.
źródło
Prawdę mówiąc, że odpowiedź jest w swojej edit: „Mamy wynajęty Niektórzy pisarze” - czasami po prostu trzeba być krwawe myślących ... chcą swoje pieniądze, co muszą zrobić to, co ty chcesz, pod warunkiem, że to, co chcesz, nie jest nieuzasadnione.
Argument, który wysyłasz, jest argumentem, który już przedstawiłeś - musimy być w stanie wykonać X, Y i Z, aby produkt działał - i aby to zrobić , musisz to zrobić. Będziemy jak najlepiej wspierać, ale aby to zadziałało (i dlatego, aby nadal stanowiło źródło dochodów dla ciebie, pisarza), musi się to zdarzyć.
Zgadzam się, że odpowiednie rozwiązanie oparte na Wiki wydaje się być dobrym rozwiązaniem - ale wyzwanie polega na tym, jak znaleźć kompromis między ich przepływem pracy a Twoimi wymaganiami.
Będę powtarzać kluczowy punkt - w kolejności do projektu odnieść sukces trzeba artykuły należy zatem wersjami tych, którzy pracują na artykułach grać przez uzgodniony zestaw reguł, jeśli to nie zdarzy ci się dostać wypalony, a więc i napisy.
źródło
Wcześniej miałem do czynienia z podobną sytuacją. Na koniec wyznaczyliśmy jednego programistę (mnie) jako punkt kontaktowy kontroli wersji dla strony trzeciej.
Osoba trzecia codziennie przesyła mi e-mailem plik zip swoich plików projektu, a ja sprawdzam je. Skonfigurowałem dla nich osobny obszar roboczy projektu i konto svn i rozpakowałem pliki do tego obszaru roboczego, nadpisując to, co tam było, a następnie dokonam odprawy w ramach tego konta.
To nie była najfajniejsza praca każdego dnia, ale czasem ważniejsze jest po prostu wykonanie pracy.
Jedną z zalet było to, że pomogło mi to przejrzeć ich pracę, aby upewnić się, że nie sprawdzają złego kodu i danych, które mogłyby uszkodzić kompilację.
źródło
SparkleShare to oparty na gitach klon dropbox, myślę, że odpowiada twoim potrzebom.
Aktualizacja (listopad 2015 r.) : Projekt wydaje się być porzucony (ostatnie wydanie z kwietnia 2014 r.).
źródło
Jeśli możesz zapewnić przygotowany obszar roboczy z przezroczystym użyciem VCS, będą używać VCS. Nie ucz nieprogramiści korzystania z VCS na sposób programisty
Wystarczy znaleźć edytor z wbudowaną obsługą VCS, skonfigurować go i pokazać dodatkowe łatwe kroki w ich pracy.
Tylko przykład - Editplus wie o Subversion, ma możliwość wykonywania podstawowych operacji SVN w oknie edytora. Najnowsze Editplus może nawet używać TortoiseGIT do integracji z Git
Edycja : znaleziono rozwiązanie alternatywne: EasySVN , który przy prawidłowej konfiguracji monitoruje kopię roboczą oraz wykonuje automatyczne zatwierdzanie i automatyzację, umożliwiając korzystanie z dowolnego narzędzia do tworzenia treści dla użytkownika końcowego i dowolnego formatu dokumentu
źródło
Co z konfiguracją WebDAV ?
Automatycznie obsłuży dla nich historię wersjonowania linii prostej. Wszystko, co muszą zrobić, to połączyć się z serwerem, jakby to był dysk sieciowy, a każde zapisanie będzie zatwierdzeniem.
źródło
Dokumenty Google
Dokumenty Google mogą robić, co chcesz.
File > See Revision History
pozwoli ci śledzić zmiany.Masz również problem z przekazywaniem plików tam iz powrotem za darmo; po prostu udostępnij dokument wszystkim.
Wreszcie jest łatwy w użyciu; autorzy nie muszą nawet wiedzieć, że dzieje się wersjonowanie.
źródło
OS Agnostic
Napisz program Pythona, który można przeciągnąć i upuścić plik na, że program może następnie wykonać
git add
igit commit
, a co nie i nigdy nie miał do czynienia z nim.lub
Użyj systemu plików opartego na WebDav, który możesz zamontować na swoim komputerze i pozwolić serwerowi robić
git
rzeczy w sposób transparentny.OSX / Linux
Napisz wtyczkę FUSE opartą na języku Python, która pobiera pliki i zatwierdza je w git. Następnie mogą po prostu otworzyć i zapisać w przejrzysty sposób z zamontowanego systemu plików. Istnieją pewne zasoby FUSE dla Windows , ale prawdopodobnie nie warto ich oszukiwać.
Windows
Możesz napisać kod, aby użyć sterowników filtrów systemu plików do przezroczystości
git
.źródło
Ach, radości nieokreślających bzika. Sugeruję skonfigurowanie dla nich środowiska git / mercurial. Powiedz im, aby zapisali wszystko w formacie, który może obsługiwać repo. W przypadku żółwia lub żółwia nie muszą wiedzieć, jak działa repo. Sprawdzają tylko, czy mają wykrzyknik w katalogu projektu, klikając prawym przyciskiem myszy plik, który go narusza, i zatwierdzają. Wpisz streszczenie zmian (są pisarzami, prawda?) I gotowe!
Dla nich to dodatkowy krok w przepływie pracy, ale nic o łączeniu / rozgałęzianiu / fajnych rzeczach. Wstępnie zbudowane środowisko jest już skonfigurowane w gałęzi scenarzystów, więc nie widzą kodu. Niech skrypt automatycznie synchronizuje je codziennie. Później, po przyzwyczajeniu się do popełnienia, możesz pokazać im dodatkowe funkcje. Możliwość zobaczenia, co się zmieniło, gdy jest tak przydatna, że nie będą mogli się bez niej obejść, gdy tylko zakradniesz się do jej przepływu pracy.
źródło
Co z Share Point? Wiem, że nie jest popularny w świecie programowania, ale jeśli twoi pisarze używają Windows jako systemu operacyjnego, będzie działał dobrze i tak naprawdę nie będzie wiedział, że używa kontroli wersji (duży plus dla mojej pracy).
To rozwiązanie powstrzymuje ich również od radzenia sobie z czymkolwiek, co by ich bardzo przeraziło, ponieważ wydaje się, że są zalane nowymi rzeczami.
źródło
Czy możesz ustawić narzędzie, które monitoruje system plików, w którym autorzy zapisują swoje pliki, i czy wykonuje automatyczne zatwierdzanie za każdym razem, gdy zapisuje?
Jeśli umieścisz go w udziale sieciowym, możesz wykonać całą konfigurację, nie angażując ich wcale; ale za każdym razem, gdy dostarczyli zaktualizowaną wersję do wykorzystania przez Twój zespół, byłaby dodawana do git dla Ciebie.
źródło
Czy spojrzałeś na Plastic SCM. Próbują uprościć obsługę
Jeśli chcesz tylko wersjonowanych kopii zapasowych, możesz użyć Dropbox lub możesz skonfigurować usługę tworzenia kopii zapasowych systemu Windows. Lub możesz zainstalować Crashplan lub inny podobny produkt.
źródło
W przypadku Mercurial DVCS istnieje interfejs użytkownika o nazwie EasyMercurial , którego wyraźnym celem jest zapewnienie prostego widoku podstawowych operacji kontroli wersji.
Poleciłbym spróbować.
źródło
Wielokrotnie musiałem współpracować z nie-programistami (głównie grafikami, a jeśli twoi pisarze nie mają pojęcia, jak zarządzać plikami roboczymi jak artyści, czeka cię ... hmmmm ... zabawa ... .). Istnieją trzy możliwe podejścia:
Osobiście uważam, że najlepszym rozwiązaniem jest opcja 3. Oznacza to pewien ból i irytację dla każdego, kto musi wziąć dostawy plików i sprawdzić je, ale o wiele mniej niż jakakolwiek inna opcja.
Powiedziałbym również, pamiętajcie, że nieprogramiści dostarczą pliki z dowolną starą nazwą pliku, jaką tylko wymyślicie. Konwencje nazewnictwa są dla nich dziwnie obce. Dadzą ci plik o nazwie „Obraz” lub coś, a następnie, gdy powiesz im, że coś jest nie tak, dostaniesz plik o nazwie „Obrazek_final”, który ma tylko około 3 błędów. Kiedy to zauważysz, otrzymasz inny plik, o nazwie „Picture_NewFinal”, a następnie (jeśli masz szczęście) „Picture_NewFinal2”, chociaż możliwe jest, że w tym momencie odrzucą jakiekolwiek poczucie historycznego rozwoju i nazwie go „Ikona klucza” rzecz".
Ponownie możesz spróbować narzucić konwencję nazewnictwa, co oznacza , że musisz wcześniej powiedzieć, jak ma być nazywany każdy plik, lub możesz godzinami rozszyfrować i zmienić nazwę tego, co ci wysyłają. Tutaj powiedziałbym, że i tak chcesz arkusza kalkulacyjnego dla własnego zdrowia psychicznego, więc postaraj się, aby postępowali zgodnie z nim: po prostu nie zdziw się, gdy tego nie zrobią.
Mam nadzieję, że to pomoże - baw się dobrze!
źródło
Jeśli istnieje jakakolwiek szansa, że dwóch z nich musi jednocześnie pracować nad tym samym celem ORAZ jeśli poradzisz sobie z całą ich pracą w plikach tekstowych, spróbuję udostępnić dokumenty google.
Ma niesamowite możliwości edytowania / współpracy - zdecydowanie najlepsze, jakie kiedykolwiek widziałem. Są również w pełnej wersji i mogą być eksportowane jako pliki tekstowe.
Ale to są dwa całkiem duże ifs.
źródło
Pozwól im pracować w folderze, zapisując pliki jak zwykle.
Raz dziennie (lub tydzień itp.) Skopiuj zawartość tego folderu do backup_dd_mm_rrrr Większość kodu źródłowego systemu zajmuje trywialną ilość miejsca, biorąc pod uwagę ilość dostępnego miejsca w tych dniach.
Kopia może być wykonana przez ciebie, przez nich, osobę trzecią, narzędzie lub skrypt.
Ogranicza to straty do jednego dnia, daje historię, jest dla nich przejrzyste.
Nie jest to idealne rozwiązanie dla żadnej ze stron, ale odpowiedź, która ma na celu uderzenie w środek.
źródło