2015-02-04 11 views
63

Uruchomiłem serwer szyn gitlabhq na maszynie wirtualnej, wykonując 1-6 kroków od tego samouczka https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md i uruchamiając serwer ruterowy wykonując polecenie sudo -u git -H bundle exec rails s -e production. Następnie utworzyłem użytkownika, używając narzędzi administracyjnych i utworzyłem nowy projekt pod tym użytkownikiem. Następnie staram się jak najszybciej przenieść istniejący projekt do tego repozytorium. Ale w ostatnim etapie, git push origin master nie powiedzie się z powodu błęduBłąd Git push pre-receive hook odrzucono

[remote rejected] master -> master (pre-receive hook declined)

Dodatkowe informacje:

1) nie została włączona użytkownik (właściciel projektu) poprzez link aktywacyjny e-mail, ponieważ nie została skonfigurowana poczta po stronie serwera i nie znalazłem instrukcji, jak to zrobić w tym podręczniku.

2) Serwer Gitlab generuje wskazówki dotyczące przesyłania projektu do repo i nie ma ścieżki repositories/. Mam na myśli, że generuje on [email protected]:user/repo.git zamiast [email protected]:repositories/user/repo.git, co jest poprawne.

3) Kiedy próbowałem go debugować, otworzyłem pre-receive skrypt wewnątrz repo na serwerze i próbował zmiennych wyjściowych (jest 3 z nich): refs = ARGF.read, key_id = ENV['GL_ID'] i repo_path = Dir.pwd i znajdując, że KEY_ID jest zawsze pusty. Być może problem jest tutaj ... Jeśli tak, proszę dać mi sugestie, jak to naprawić. Dzięki

Odpowiedz

6

Wydaje się, że problem dotyczy niektórych usług, takich jak sidekiq. Uruchomienie sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production powoduje wyprowadzenie wszystkich problemów z konfiguracją.

0

Musisz dodać swój klucz ssh do swojego konta git, jeśli zgłasza błąd, usuń poprzedni klucz ssh i utwórz nowy klucz ssh, a następnie dodaj.

+0

To nie pomogło. :(Testowane na obu kontach - root i myuser na maszynie wirtualnej i na komputerze lokalnym – Hroft

+0

sprawdź git remote -v, twoje repozytorium git zostało dodane czy nie? –

+0

'git remote -v' output: pochodzenie \t git @ mygitlabhost: repositories/user/repo.git (fetch) pochodzenie \t git @ mygitlabhost: reositories/user/repo.git (push) – Hroft

91

GitLab domyślnie zaznacza master oddział jako protected (Zobacz część Protecting your code w https://about.gitlab.com/2014/11/26/keeping-your-code-protected/ dlaczego). Jeśli więc w Twoim przypadku, to może pomóc:

Open your project > Settings [> Repository tab] and go to "Protected branches", select: "Developers can push" and try again.

poprzez https://gitlab.com/gitlab-com/support-forum/issues/40

+1

To działa idealnie! DZIĘKUJĘ –

+3

Interfejs użytkownika zmienił się nieco: Po projekcie "Ustawienia", kliknij zakładkę "Repozytorium" Następnie "Protected Branches" –

+0

Tak miałem ten sam problem, który OP miał i to rozwiązanie działało dla mnie, dzięki! Ale teraz zastanawiam się, dlaczego? Używam gitlab przez chwilę i nagle mam zrobić to? Co się zmieniło? –

2

Możesz nie mieć dostępu programiście branży projektowej lub master. Potrzebujesz dostępu do deweloperów, aby popchnąć nową pracę.

Nowa praca oznacza nowe gałęzie i zatwierdzenia.

0

może nie być przypadek, ale jest to rozwiązanie do mojego „wstępnie otrzymać hak spadła” Błąd:

Istnieje kilka repozytoriów, które pozwalają jedynie modyfikacje poprzez Pull Zamówienie. Oznacza to, że musisz:

  1. Utwórz nowy oddział, biorąc jako podstawę gałąź, do której chcesz wprowadzić zmiany.
  2. Zatwierdź i przenieś zmiany do nowego oddziału.
  3. Otwórz żądanie wyciągnięcia, aby scalić swój oddział z oryginalnym.
2

Following resolved problem in my local machine:

A. Po pierwsze, upewnij się, że używasz prawidłowego dziennik na szczegóły, aby połączyć się z serwerem Bitbucket (tj.nazwa użytkownika/hasło/klucz SSH, który należy do ciebie)

B. Następnie upewnij się, że nazwa/adres e-mail jest poprawnie ustawiona w lokalnej konfiguracji Git: Ustaw lokalną konfigurację Git dla konta, które próbujesz nacisnąć under (check twierdzi, że jesteś osobą, która dopuściła się plików) * Pamiętaj, że w tym przypadku rozróżniana jest wielkość liter, zarówno dla nazwy, jak i adresu e-mail * Jest również wrażliwa na przestrzeń - niektóre konta firmowe mają dodatkowe spacje/znaki w nazwie, np. . "Contractor/ space space(LDN)". Musisz uwzględnić taką samą liczbę spacji w konfiguracji, jak na serwerze Bitbucket. Sprawdź to w Notatniku, jeśli utknąłeś.

C. Jeśli korzystasz z niewłaściwego konta, po prostu zmień poświadczenia konta (nazwa użytkownika/hasło/klucz SSH) i spróbuj ponownie.

D. Inaczej, jeśli lokalna konfiguracja błędna trzeba będzie zmienić go

For MAC

open -a TextEdit.app ~/.gitconfig

UWAGA: Trzeba będzie naprawić stary zobowiązuje się, że starali się wcisnąć.

  1. Polepszajcie ostatniego zatwierdzenia:

    > git commit --amend --reset-author 
    
       
    
<save and quit the commit file text editor that opens, if Vim then 
    :wq to save and quit> 
    

 
    
    
    


 
    
  2. Spróbuj ponownie przesuwając swoje zobowiązuje:

    > git push