Jak dodać kontrolę wersji Git (Bitbucket) do istniejącego folderu kodu źródłowego?

83

Jak mogę dodać zawartość istniejącego folderu do kontroli wersji Git?

Tutorial tutaj obejmuje przypadek tworzenia katalogu, a następnie dodając do niego zawartość źródłowych. Mam kod źródłowy w folderze zależnym od ścieżki i nie chcę go przenosić.

Jak więc mogę po prostu wejść do mojego folderu i uczynić go repozytorium?

user1406716
źródło
Czy repozytorium git już istnieje w Bitbucket? A może dopiero zaczynasz od zera i chcesz utworzyć repozytorium git, które będzie dostępne w usłudze Bitbucket?
Jeff B,
Utworzyłem już repozytorium na bitbuckecie.
user1406716,
3
Dokładna rzecz, której chcesz, jest opisana tutaj. samranga.blogspot.com/2015/07/…
Samitha Chathuranga
Jeśli masz narzędzie, takie jak Visual Studio dla Git - czy kiedykolwiek będziesz musiał przejść do wiersza poleceń? Ma placówkę do publikowania, w której możesz opublikować całą nową gałąź
Peter PitLock

Odpowiedzi:

177

Ostateczne rozwiązanie robocze przy użyciu odpowiedzi @Arrigo i komentarza @Samitha Chathuranga, zbierzę wszystko razem, aby zbudować pełną odpowiedź na to pytanie:

  1. Załóżmy, że masz folder projektu na komputerze;
  2. Utwórz nowe repozytorium w bitbucket: wprowadź opis obrazu tutaj

  3. Naciśnij przycisk Mam istniejący projekt : wprowadź opis obrazu tutaj

  4. Otwórz konsolę Git CMD i wpisz polecenie 1 z drugiego obrazu (przejdź do folderu projektu na komputerze)

  5. Wpisz polecenie git init

  6. Wpisz polecenie git add --all

  7. Wpisz polecenie 2 z drugiego obrazka ( git remote add origin YOUR_LINK_TO_REPO)

  8. Wpisz polecenie git commit -m "my first commit"

  9. Wpisz polecenie git push -u origin master

Uwaga: jeśli pojawi się błąd uniemożliwiający wykrycie adresu e-mail lub nazwy, po prostu wpisz następujące polecenia po 5 kroku:

 git config --global user.email "yourEmail"  #your email at Bitbucket
 git config --global user.name "yourName"  #your name at Bitbucket
Choletski
źródło
@VibhavChaddha jest polecenie git:git remote add origin YOUR_LINK_TO_REPO
Choletski
Nie, nie, to wiem. Chodziło mi o to, czy musimy go użyć gdzieś pomiędzy krokami, o których wspomniałeś, ponieważ specjalnie określiłeś to na obrazku. Dzięki.
Me_developer
1
W kroku 7, jeśli nie masz klucza publicznego skonfigurowanego dla ssh (tj. Get Permission denied (publickey) .fatal: Could not read from remote repository. When pushing), użyj https URL, git remote set-url origin https://<username>@bitbucket.org/<username>/reponame.git
M_K
1
@Jonjie, może być dowolny tekst
Choletski
1
@Choletski Świetnie! :)
Jonjie
27

Możesz zainicjować katalog Gita w katalogu zawierającym inne pliki. Następnie możesz dodać pliki do repozytorium i tam zatwierdzić.

Utwórz projekt z kodem:

$ mkdir my_project
$ cd my_project
$ echo "foobar" > some_file

Następnie, będąc w folderze projektu, wykonaj wstępne zatwierdzenie:

$ git init
$ git add some_file
$ git commit -m "Initial commit"

Następnie, aby użyć Bitbucket lub czegoś podobnego, dodaj remotei push up:

$ git remote add some_name user@host:repo
$ git push some_name

Możesz także chcieć skonfigurować gałęzie śledzenia itp. Zobacz git remote set-branchesi powiązane polecenia.

johannes
źródło
1
Czy musisz najpierw utworzyć repozytorium git w programie bitbucket, aby móc do niego przesłać?
Jeff B,
4
Tak. Trzeba stworzyć miejsce na bitbucket żeby wiedzieć, gdzie się spodziewać przez kogo, repo one tworzyć będzie pusty, dzięki czemu można wcisnąć coś tam :)
Johannes
Otrzymuję błąd poniżej. {master *} ~ / sites / example7.dev $ git remote add some_name [email protected]/mavme/example-site-example7.dev.git 04:40:46 {master *} ~ / sites / example7.dev $ git push some_name Hasło dla ' [email protected] ':
user1406716
kolejna część komunikatu o błędzie, ponieważ nie mieściła się w jednym komentarzu: To [email protected]/mavme/example-site-example7.dev.git ! [odrzucono] master -> master (non-fast-forward) error: nie udało się przesłać niektórych odnośników do ' [email protected]/mavme/example-site-example7.dev.git ' Aby zapobiec utracie historii, nie- aktualizacje typu fast-forward zostały odrzucone. Połącz zdalne zmiany (np. „git pull”) przed ponownym wysłaniem. Zobacz sekcję „Note about fast-forward” w „git push --help”, aby uzyskać szczegółowe informacje. 04:40:54
user1406716
Wygląda na to, że z jakiegoś powodu bitbucket stworzył gałąź główną. Możesz go sklonować ( git clone [email protected]/mavme/example-site-example7.dev.git') i sprawdzić, czy nie ma tam nic wartościowego, wykonujesz push z projektu za pomocą force ( git push -f some_name)
johannes
24

Użytkownik johannes powiedział ci, jak w ogólnej sytuacji dodać istniejące pliki do repozytorium Git . Ponieważ mówisz o Bitbucket, sugeruję wykonanie następujących czynności:

  1. Utwórz nowe repozytorium na Bitbucket (możesz zobaczyć przycisk Utwórz u góry strony swojego profilu), a przejdziesz do tej strony:

    Utwórz repozytorium w Bitbucket

  2. Wypełnij formularz, kliknij dalej, a następnie automatycznie przejdziesz do tej strony:

    Utwórz repozytorium od podstaw lub dodaj istniejące pliki

  3. Wybierz, aby dodać istniejące pliki i przejdź do tej strony:

    Tutaj wprowadź opis obrazu

  4. Używasz tych poleceń i przesyłasz istniejące pliki do Bitbucket. Następnie pliki są online.

Arrigo
źródło
3
Polecenia w 4. kroku spowodują błędy. Musisz wykonać następujące kroki w tym linku. samranga.blogspot.com/2015/07/…
Samitha Chathuranga
2

Polecenia są podane na koncie Bitbucket. Gdy otworzysz repozytorium w Bitbucket, otrzymasz całą listę poleceń, które musisz wykonać w kolejności. Brakuje miejsca, w którym dokładnie trzeba wykonać te polecenia (Git CLI, SourceTree terminal ).

Miałem problemy z tymi poleceniami, kiedy pisałem je w Git CLI, ale musimy wykonać polecenia w oknie terminala SourceTree, a repozytorium zostanie dodane do Bitbucket.

sver
źródło
1

Mam bardzo proste rozwiązanie tego problemu. Nie musisz używać konsoli.

TLDR: Utwórz repozytorium, przenieś pliki do folderu istniejących projektów, SourceTree zapyta Cię, gdzie są jego pliki, zlokalizuj pliki. Gotowe, Twoje repozytorium znajduje się w innym folderze.

Długa odpowiedź:

  1. Utwórz nowe repozytorium w Bitbucket
  2. Kliknij „Clone in SourceTree”
  3. Pozwól programowi umieścić twoje nowe repozytorium tam, gdzie chce, w moim przypadku SourceTree utworzył nowy folder w Moich Dokumentach.
  4. Zlokalizuj w eksploratorze Windows swój nowy folder repozytorium.
  5. Wytnij .hg i README (lub cokolwiek innego, co znajdziesz w tym folderze)
  6. Wklej go w miejscu, w którym znajduje się Twój istniejący projekt
  7. Wróć do SourceTree i powie "Wystąpił błąd ...", po prostu kliknij OK
  8. Po lewej stronie będziesz mieć swoje repozytorium, ale z czerwoną wiadomością: Repository Moved or Deleted. Kliknij na to.
  9. Teraz zobaczysz wyskakujące okienko Brak repozytorium. Kliknij Zmień folder i zlokalizuj istniejący folder projektu, do którego zostały przeniesione wcześniej wspomniane pliki.
  10. Otóż ​​to!

Wskazówki: Opcja Clone in SourceTree nie jest dostępna zaraz po utworzeniu nowego repozytorium, więc najpierw musisz kliknąć Utwórz plik Readme, aby ta opcja stała się dostępna.

Kristijan Korman
źródło
krok 6.5 usuń nowy folder repozytorium.
AMAN77