Git commit

W ramach wprawiania się w umieszczaniu strony na Heroku, zacząłem wykonywać polecenia z rozdziału Deploying the Site książki Jump Start Sinatra, począwszy od strony 75. Tu jest link do tego ebooka
http://it-ebooks.info/book/2247/
Wykonałem polecenie gem install bundler, utworzyłem plik Gemfile, następnie bundle install --without production, następnie zmieniłem ścieżkę tak aby “wejść” do katalogu z przygotowaną aplikacją, wykonałem git init oraz git add ., ale po git commit -m 'initial commit' otrzymałem komunikat #On branch master nothing to commit, working directory clean.
W efekcie Herroku nie chce zainstalować aplikacji. W internecie ludzie piszą wiele na temat tego błędu, ale nie ma konkretnej porady jak go ominąć. Czy macie pomysł co z tym zrobić?

git status, git log

Po uruchomieniu git status otrzymałem ten sam komunikat co powyżej, a po git log wyświetliło mi coś takiego:

Czyli wszystko gra. Zrobiłeś commita. Hurra.

Teraz pewnie problem jest w tym że zrobiłeś go do swojego lokalnego repo a nie na remote do heroku.
Polecam rzucić okiem do https://devcenter.heroku.com/articles/git

BTW. Nieładnie jest podlinkowywać do nielegalnych materiałów. Grzeczniej byłoby gdybyś po prostu podał oficjalny link do tytułu.

1 Like

Nigdzie nie znalazłem informacji że są nielegalne. Zresztą w stopce jest podane, że materiały są udostępnione only for informative purposes and strictly for personal, private use. Chciałem podać wszystko na “tacy”, aby nie trzeba było szukać książki po internecie, ale skoro to uważasz za niegrzeczność…

Nie ma również informacji że są legalne. Przecież to tak jak z materiałami z chomika. Oficjalny link do tytułu masz tutaj http://www.sitepoint.com/store/jump-start-sinatra/

Widzisz @Merano, nie warto iść ludziom na rękę, bo i tak nie docenią tego, wejdą na nią i “narobią” na nią.

1 Like

Bez zezwolenia twórcy wolno nieodpłatnie korzystać z już rozpowszechnionego utworu w zakresie własnego użytku osobistego – Ustawa o prawie autorskim i prawach pokrewnych, art. 23, pkt. 1

Jeżeli znajdę w sieci udostępniony utwór (film, muzykę, książkę) to mogę sobie z niego korzystać. Ściąganie, żeby przeczytać, posłuchać, obejrzeć to jest właśnie to korzystanie. To czy ktoś to legalnie udostępnił czy nie w żaden sposób mnie jako osobę pobierającą nie obciąża. I to jest koniec tematu.

PS. Udostępnianie to osobny temat, ale topic jest o GIT a nie o prawie autorskim.

1 Like

Dlatego napisałem to jako ‘btw’. Uważam po prostu że dużo grzeczniej jest (chociażby nawet z szacunku dla pracy autorów) podlinkować do oficjalnego źródła.

No z tym to się zgodzę, jasne :slight_smile: Chodziło mi o wyjaśnienie kwestii prawnych, bo doświadczenie mnie uczy, że wiele osób nie jest świadomych tego co jest w zgodzie z prawem a co nie, z powodu poziomu komplikacji tego prawa jak i ton kłamstw rozsiewanych przez różne organizacje.

1 Like

@Merano Z Twojego git status i git log wynika, że masz już stworzone repozytorium i zacommitowane zmiany. Możesz więc pominąć te kroki: git init, git add. i git commit -m ‘initial commit’. Leć dalej z tutorialem i powinno działać.

[quote=“mentero, post:6, topic:8547”]Nie ma również informacji że są legalne.[/quote] No chyba żartujesz. Na moim blogu też nie mam informacji, że zamieszczone tam treści są legalne i nic to nie znaczy.

1 Like

Piszę grzeczne i uprzejme wpisy. Nie używam wulgaryzmów. Dziękuję ludziom za udzielone wskazówki. A Ty już drugi raz robisz mi insynuacje o moim rzekomym braku uprzejmości!

Dzięki za pomoc. Wczoraj udało mi się przejść jakoś ten etap (nawet nie wiem w jaki sposób, po prostu powtórzyłem wszystkie czynności) i zadziałało, natomiast podczas próby umieszczania aplikacji na Heroku, instalacja “wysypała” się z tysiącem błędów. Chyba zacznę od najprostszej rzeczy, czyli próby umieszczenia na serwerze najprostszej wersji aplikacji, czyli takiej która zawiera tylko jedną stronę, polecenie require 'sinatra' i prosty szablon w erb. Jeżeli to zadziała, to będę próbować instalować coraz bardziej rozbudowane wersje aplikacji.

A ja nigdzie nie napisałem że Twoje posty są niekulturalne lub nieuprzejme. Nie miałem tutaj na myśli tego że Twoje wypowiedzi są pisane w złym tonie. Po prostu zwróciłem Ci uwagę że linkując do jakiegoś materiału w dużo lepszym stylu jest odsyłanie do oficjalnego źródła. That’s all.

Okazało się, że mój pierwotny problem można obejść wykasowując z komputera zawartość katalogu .git, i postępując od początku według opisu w książce, z wyczyszczoną zawartością katalogu. Tylko że ten folder .git jest ukryty, a ja nie miałem o tym pojęcia. Coś mnie tknęło aby włączyć opcję wyświetlania ukrytych plików i katalogów.
Po poprawnym wykonaniu zalecanych czynności udało mi się wrzucić wszystko na Heroku. I zadziałało. No, tak prawie… Gdy wrzuciłem stronę, która w pliku Gemfile zawiera tylko linie

source "https://rubygems.org"
ruby "2.0.0"
gem "sinatra"

oraz wykorzystywała style erb, wtedy udało mi się bez problemu wyświetlić ją na Herroku.
Natomiast gdy umieściłem tam podobną, ale rozbudowaną stronę która zamiast erb wykorzystuje slim oraz sass , a jej plik Gemfile wygląda następująco

source "https://rubygems.org"
ruby "2.0.0"
gem "sinatra"
gem "slim"
gem "sass"

wtedy aplikacja już nie uruchomiła się. Poniżej zamieściłem komunikaty które pojawiły się podczas umieszczania na Heroku tej niedziałającej strony. Tam jest informacja o usunięciu pliku Gemfile.lock.

Czy to może być przyczyną niemożności wyświetlenia tej bardziej rozbudowanej strony? Identyczną litanię błędów otrzymałem podczas wrzucania na Heroku wcześniejszej, prostszej wersji strony, ale jak widzę tamtej to nie zaszkodziło.

Ale ten komunikat mówi że wszystko poszło ok. To co określasz jako błąd to jedynie warning i heroku informuje cię że rozwiązując zależności nie będzie opierał się na wersjach które masz zapisane w Gemfile.lock. Oznacza to że na serwerze możesz mieć inne wersje gemów niż u siebie na komputerze.

Wszystko poszło ok, ale nic nie działa ;). Na komputerze mam zainstalowane te wersje gemów, które pojawiły się na screenshocie wstawionym powyżej. Czy on pokazuje moje gemy, czy te które są instalowane na serwerze?

W outpucie jest napisane installing więc powinny być to gemy które są instalowane właśnie na serwerze. Może warto wejść pod adres z devcenter który wrzucili w notce?

O ile dobrze zrozumiałem co tam napisano, to w sytuacji gdy następuje odrzucenie pliku Gemfile.lock, to muszę ręcznie wpisać wersje gemów w pliku Gemfile. Zrobiłem to, otrzymałem komunikat jak wyżej, a aplikacja nadal nie działa. W tym komunikacie jest też mowa o temple, rack i tilt, ale ja ich nie wykorzystuję w aplikacji i dlatego nie mam ich wpisanych w Gemfile. Czy do pliku Gemfile mam dopisać absolutnie wszystkie gemy które pojawiają się w tym komunikacie?


OK, do pliku Gemfile dopisałem gemy temple, rack i tilt o numerach zgodnych z tymi z komunikatu i zgodnymi z tymi które mam na komputerze. Jest tylko problem z bundlerem. W komunikacie jest podana wersja 1.6.3, a ja mam 1.7.2. Chciałem ściągnąć niższą wersję, ale jest nieosiągalna. Po tych poprawkach aplikacja i tak nie działa.

Heroku od jakiegoś czasu zaprzestało obsługi slim i sass. Dlatego musisz powrócić do erb i css.

Jakiś link/info na ten temat masz? Próbowałem znaleźć w Heroku Dev Center, ale nic :wink: