Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: git - uzytkownik , push i inne na serwerze, ssh
Forum PHP.pl > Forum > Serwery WWW
bialko0019
Witam. Mam kilka pytań o git`a. Loguję się jako root do swojego dedykowanego serwera i chciałbym dokonywać zmian. Jeśli dam git config email [...] to zostanie to przypisane do konta roota i każdy kto się zaloguje będzie tego używał? Czyli jeśli pracuje się w kilka osób na różnych repozytoriach w ramach jednego serwera, to musi być kilka użytkowników? Czy to git config przypisze się do jednego repozytorium?

Do tej pory pracowałem na bitbucket, ale chciałbym jednak na serwerze. Jak daję git init, i dodaję pliki git add plik.txt to jest okey, potem daję np. commita git commit -m "Nowa zmiana" to dalej jest okey, dodaje się. Ale teraz jak zatwierdzić zmiany? Na bitbucket robiłem to git push -u origin master a teraz jak to robię to mam błąd typu:
origin does not apear to be a git repository, fatal: the remote end hung up enexpectendly

Może muszę najpierw dać coś typu git remote add origin XXXXX ( tak dawałem na bitbucket) ale tutaj co mam wpisać w XXX, jaki adres url? Tam dawałem ścieżkę typu https://username@bitbucket.org/username/test.git a tutaj? Rozumiem, że mam dodać nowego brancha i dlatego nie mogę za pushować, ale jak go dodać i czy jak go dodam na roocie i będzie jakiś o istniejącej nazwie to nie zastąpi się? Na roocie pracuje jeden z kolegów, i nie chcę mu nic namieszać wink.gif

I jeszcze jedno - jak już jest zadeklarowany gdzieś w katalogu git i chciałbym się do niego podłączyć jako "nowy user", to daję git init i co dalej? Tak samo jak w przypadku nowego tworzenia repo?

Z góry dziękuję za odpowiedzi wink.gif
czychacz
1. Z tego, co pamiętam, to git config przypisuje się do klienta, ale głowy sobie nie dam uciąć.
2. https://help.github.com/articles/adding-a-remote/ - dajesz:
Cytat
git remote add origin protokol://adres_serwera/sciezka_repo

protokol zwykle to http lub https
adres_serwera - oczywiste
sciezka_repo - ścieżka przypisana dla repozytorium
3. git branch - wyświetla listę branchy. jeśli nie masz żadnego, to walnij "git branch master" a później "git checkout master" (zdaje się, że do git branch jest parametr automatycznego checkoutu, ale nie korzystam). jeśli podasz nazwę brancha już istniejącego, to walnie błędem.

Cytat
I jeszcze jedno - jak już jest zadeklarowany gdzieś w katalogu git i chciałbym się do niego podłączyć jako "nowy user", to daję git init i co dalej? Tak samo jak w przypadku nowego tworzenia repo?

rozwiń, bo nie rozumiem co znaczy "zadeklarowany gzieś w katalogu git" i "podłączyć jako nowy user"
bialko0019
tzn tak, mam katalog w którym jest juz uruchomiony git, bo jest w nim plik .git , no i chciałbym się do niego dołączyć czyli po modyfikacji plików chciałbym dać coś typu git add plik.txt a potem push, to jak się odnieść i zacząć działać ? jakoś zainnicjować trzeba połączenie do repozytorium aktualnego katalogu ?
Pyton_000
Nie, katalog z zainicjowanym repozytorium nadaje się od razu do pracy.

git config --local -l

Tym możesz podejrzeć aktualną konfigurację repozytorium
bialko0019
to moment, bo nie ogarniam. Wchodzę do katalogu. Daję git init i jest okey. Dalej tworzę np. jakiś plik , sprawdzam git status i pojawił się. Tak więc daję git add plik.txt i plik już jest śledzony. Następnie chcę dodać już commita, a więc git commit -m "lorem lipsum" i wszystko jest w porządku. Ale teraz chcę push`a, ale poprzez ssh i puttiego nie mam pojęcia jak to zrobić. Na bitbucket dawałem git push -u origin master a wcześniej konfigurowałem ścieżkę i pliki były kopiowane na serwer bitbucketa i było okey. A tutaj muszę tylko "zapuszować" tylko nie mam pojęcia jak.

git status jak wyżej, wywala błąd: "no configured push destination". Czy może ja rozumiem źle - nawet jak działam poprzez ssh na serwerze swoim, to pushować muszę na np. bitbucket?

No i pytanie, jeśli jestem na koncie root i zacznę konfigurować ( np. git config i email albo git add remote url@cos.git) to czy nie nadpiszę nic więcej koledze z pracy, który też z tego konta root korzysta i pracuje na gicie? Czy może każde konto ssh jest połączone z jednym userem na git? ;-)

config mam jakiś defaultowy, to chyba nikt nie korzystał?
user.name=Your Name
user.email=you@example.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
Pyton_000
Nie zrobisz push bo nie ma gdzie.
Musisz dodać repozytorium do którego chcesz pushować np;

git remote add origin git@domain.com/testing.git

Konfiguracje Git dzieli się na 3 grupy:
- local (dla konkretnego repozytorium które sklonowałes)
- global (globalne dla wszystkich repo sklonowanych (o ile nie mają --local) ale w zasięgu użytkownika
- system (czyli dla wszystkich użytkowników)

Odczytywane są wartości w kolejności local, global, system.

bialko0019
acha rozumiem, czyli jeśli dam git remote add origin https://user@bitbucket.org/cos.git to docelowe miejsce docelowe do pushowania zapisze się tylko dla mnie, nawet jeśli na to samo konto ssh połączy się ktoś inny?
markuz
W katalogu z projektem masz folder .git (ukryty) - jak masz linuxa to ls -a, albo cd .git od razu - tam masz plik config który wygląda np. tak:
Kod
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://xx@bitbucket.org/xx/xx.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

bialko0019
Czyli config jest zapisywany w katalogu git ;-) Już rozumiem, dziękukę Wam wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.