Zaimportuj istniejący kod źródłowy do GitHub


609

Jak mogę zaimportować kod źródłowy z mojego komputera na konto GitHub?


4
Uznałem, że najłatwiej jest użyć interfejsu GUI GitHub, a następnie wskazać konfigurację na katalog główny obszaru roboczego i kliknąć przycisk „Znajdź repozytoria na twardym sterowniku”, a on zidentyfikuje wszystkie lokalne repozytoria Git w twoim obszarze roboczym i pozwoli na ich importowanie indywidualnie. Łatwy.
djangofan,

1
@djangofan Do którego GUI github masz na myśli? Czy masz link do GUI?
Anderson Green,


Odpowiedź Pete'a działała świetnie na OS X - nie trzeba używać GUI.
funroll

Odpowiedzi:


969

Jeśli masz lokalny kod źródłowy, który chcesz dodać do nowego zdalnego nowego repozytorium git bez „klonowania” pilota, wykonaj następujące czynności (często to robię - tworzysz zdalne puste repozytorium w bitbucket / github, a następnie przesuwasz w górę twoje źródło)

  1. Utwórz zdalne repozytorium i uzyskaj adres URL, taki jak git@github.com:/youruser/somename.gitlubhttps://github.com/youruser/somename.git

    Jeśli Twoje lokalne repozytorium GIT jest już skonfigurowane, pomiń kroki 2 i 3


  2. Lokalnie, w katalogu głównym źródła, git init

    2a. Jeśli zainicjujesz repo za pomocą .gitignore i README.md, powinieneś zrobić, git pull {url from step 1}aby upewnić się, że nie zatwierdzasz plików do źródła, które chcesz zignorować;)

  3. Lokalnie dodaj i zatwierdź, co chcesz w początkowym repozytorium ( git add .wtedy wszystko git commit -m 'initial commit comment')


  4. aby dołączyć swoje zdalne repozytorium o nazwie „origin” (podobnie jak klonowanie)
    git remote add origin [URL From Step 1]

  5. Wykonaj, git pull origin masteraby wyciągnąć zdalną gałąź, aby były zsynchronizowane.
  6. aby podnieść gałąź master (zmień master na coś innego dla innej gałęzi):
    git push origin master

92
Pracował dla mnie. Odkryłem, że muszę biec git pull origin masterprzed pchnięciem gita. Bez niego otrzymałem błąd „ponieważ końcówka twojej bieżącej gałęzi jest opóźniona” podczas próby wypychania. Może dlatego, że utworzyłem zdalne repozytorium z początkowym plikiem Readme.md.
yuvilio

5
Uzyskaj adres URL repozytorium dla protokołu SSH, aby móc zatwierdzać przy użyciu kluczy prywatnych ssh zamiast wpisywania hasła.
Snicolas,

5
@yuvilio właśnie dlatego. Jeśli utworzysz repozytorium github za pomocą readme.md, faktycznie jesteś teraz za tym, co próbujesz zrobić.

7
Jak powiedział @Snicolas, jeśli używasz SSH, użyj git@github.com: twójużytkownik / somename.git zamiast git: //github.com/youruser/somename.git.
tsusanka

5
GitHub wyjaśnia tę samą procedurę natychmiast po utworzeniu nowego repozytorium. Jak już powiedział @yuvilio, nie powinieneś inicjować swojego repozytorium za pomocą README. Zamiast tego skorzystaj z touch README.mdistniejącego lokalnego repozytorium
Simone,

41

Wyjaśnia to doskonały darmowy eBook ProGit . Zakłada się, że masz już lokalne repozytorium Git i zdalne. Aby je połączyć, użyj:

$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin    git://github.com/schacon/ticgit.git
pb    git://github.com/paulboone/ticgit.git

Aby przekazać dane z lokalnego repozytorium do GitHub, użyj:

$ git push pb master

Jeśli nie skonfigurowałeś jeszcze lokalnego i / lub zdalnego repozytorium, sprawdź pomoc na GitHub i poprzednie rozdziały w książce .


21

Jeden z komentarzy wspomnianych przy użyciu interfejsu GitHub GUI, ale nie dał żadnej konkretnej pomocy przy korzystaniu i zauważ, że większość, jeśli nie wszystkie odpowiedzi były przydatne tylko w wierszu polecenia.

Jeśli chcesz korzystać z interfejsu GitHub GUI, możesz wykonać następujące kroki:

  1. Kliknij przycisk „+” i wybierz „Dodaj lokalne repozytorium” Wpisz opis zdjęcia tutaj
  2. Przejdź do katalogu z istniejącym kodem i kliknij przycisk „Dodaj”.
  3. Powinien zostać wyświetlony monit „Utwórz nowe lokalne repozytorium Git tutaj”, więc kliknij przycisk „Tak”. Wpisz opis zdjęcia tutaj
  4. Dodaj swoje „Podsumowanie zatwierdzenia” i „Rozszerzony opis” według potrzeb. Domyślnie wszystkie pliki powinny już być zaznaczone znacznikami wyboru. Kliknij przycisk „Zatwierdź i synchronizuj”. Wpisz opis zdjęcia tutaj
  5. Teraz zostaniesz poproszony o dodanie nazwy i opisu swojego projektu, a także o konto, na które chcesz go przesłać (jeśli masz wiele). Kliknij przycisk „Push Repository” Wpisz opis zdjęcia tutaj

Po chwili z obracającą się ikoną GitHub, twój kod źródłowy będzie należeć do lokalnego repozytorium i wypchnięty / zsynchronizowany ze zdalnym repozytorium na twoim koncie GitHub. Wszystko to zakłada, że ​​wcześniej skonfigurowałeś interfejs GitHub, swoje konto GitHub i klucze SSH.


@cfont Czy to zachowuje długą historię, która już istnieje w moim lokalnym repozytorium, czy może po prostu tworzy jedno wielkie zatwierdzenie i straciłem całą historię?
theJollySin

1
@ theJollySin, przepraszam, że muszę pracować nad poprawnym działaniem powiadomień o przepełnieniu stosu. Powinno to zachować historię Twojego lokalnego repozytorium. TBH, nie testowałem tego wtedy, ale nie mogę wymyślić powodu, dla którego mógłby to zniszczyć twoją lokalną historię. W rzeczywistości chodzi o to, aby to zachować, chyba że naprawdę chcesz zmiażdżyć zatwierdzenia.
por.

12

Jak słusznie zauważa JB, w GitHub jest to niezwykle łatwe, po prostu postępując zgodnie z instrukcjami.

Oto przykład instrukcji wyświetlanych po skonfigurowaniu nowego repozytorium w GitHub przy użyciu http://github.com/new po zalogowaniu.

Global setup:

 Set up Git:
  git config --global user.name "Name"
  git config --global user.email email@gmail.com


Next steps:

  mkdir audioscripts
  cd audioscripts
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Existing Git repository?

  cd existing_git_repo
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Importing a Subversion repository?

  Check out the guide for step-by-step instructions.

To nie może być prostsze !!



8

Miałem trochę problemów z połączeniem, gdy próbowałem wykonać kroki Pete'a. To są kroki, na których się skończyłem.

  1. Użyj systemu operacyjnego, aby usunąć .gitfolder w folderze projektu, który chcesz zatwierdzić. To da ci czyste konto do pracy. To także dobry moment na utworzenie .gitignorepliku w folderze projektu. Może to być kopia .gitignoreutworzona podczas tworzenia repozytorium na github.com. Wykonanie tej kopii pozwoli uniknąć jej usunięcia podczas aktualizacji repozytorium github.com.

  2. Otwórz Git Bash i przejdź do folderu, z którego właśnie usunąłeś .gitfolder.

  3. Uruchom git init. Spowoduje to utworzenie lokalnego repozytorium w folderze, w którym się znajdujesz.

  4. Uruchom git remote add [alias] https://github.com/[gitUserName]/[RepoName].git. [alias] może być czymkolwiek chcesz. [Alias] ma wiązać się z lokalnym repozytorium, więc nazwa komputera działa dobrze dla [aliasu]. Adres URL można znaleźć na stronie github.com, u góry upewnij się, że kliknięto przycisk HTTP poza HTTP | SSH | Git tylko do odczytu. git://URL nie działa dla mnie.

  5. Uruchom git pull [alias] master. Spowoduje to zaktualizowanie lokalnego repozytorium i uniknie niektórych konfliktów łączenia.

  6. Biegać git add .

  7. Biegać git commit -m 'first code commit'

  8. Biegać git push [alias] master


1
-1 To niewiele więcej niż „importuje istniejący kod do github”. usuwa całą historię repozytorium!
Michael Durrant,


6

Z Bitbucket:

Wypchnij istniejące repozytorium. Masz już repozytorium Git na swoim komputerze. Podnieśmy to do Bitbucket:

cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/javacat/geo.git
git push -u origin --all   # To push up the repo for the first time

1
fyi, -u jest tym samym, co --set-upstream.
AnneTheAgile

4

Przybyłem tutaj, szukając prostego sposobu dodania istniejących plików źródłowych do repozytorium GitHub. Widziałem doskonale pełną odpowiedź @ Pete'a i pomyślałem: „Co ?! Musi być prostszy sposób”.

Oto ten prostszy sposób w pięciu krokach (nie wymaga żadnych działań konsoli!)

Jeśli naprawdę się spieszysz, możesz po prostu przeczytać krok 3. Pozostali są tylko dla kompletności.

  1. Utwórz repozytorium na stronie GitHub. (Nie obrażę twojej inteligencji, przeprowadzając cię krok po kroku).
  2. Klonuj nowe repozytorium lokalnie. (Możesz to zrobić za pośrednictwem strony internetowej lub oprogramowania klienckiego).
  3. Znajdź nowo sklonowane repozytorium na dysku twardym i dodaj pliki, tak jak w normalnym katalogu.
  4. Zsynchronizuj zmiany z powrotem do GitHub.
  5. Otóż ​​to!

Gotowy!


4

Dodaj repozytorium GitHub jako zdalne źródło (zamień [] na swój URL):

git remote add origin [git@github.com:...]

Przejdź do głównej gałęzi i skopiuj ją, aby rozwinąć gałąź:

git checkout master
git checkout -b develop

Przekaż gałąź rozwoju do gałęzi rozwoju GitHub ( -foznacza siłę):

git push -f origin develop:develop

3

W rzeczywistości, jeśli zdecydujesz się na utworzenie pustego repozytorium w GitHub, otrzymasz dokładne instrukcje, które możesz prawie skopiować i wkleić do swojego terminalu, które są (w tym momencie):

…or create a new repository on the command line

echo "# ..." >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:<user>/<repo>.git
git push -u origin master

2

Oto kilka instrukcji, jak zainicjować repozytorium GitHub, a następnie wypchnąć do niego już utworzony kod. Pierwszy zestaw instrukcji pochodzi bezpośrednio z GitHub.

Źródło: https://help.github.com/articles/create-a-repo/

  1. W prawym górnym rogu dowolnej strony kliknij, a następnie kliknij Nowe repozytorium .

  2. Utwórz krótką, niezapomnianą nazwę dla swojego repozytorium. Na przykład „hello-world”.

  3. Opcjonalnie dodaj opis swojego repozytorium. Na przykład „Moje pierwsze repozytorium w serwisie GitHub”.

  4. Wybierz pomiędzy utworzeniem publicznego lub prywatnego repozytorium.

  5. Zainicjuj to repozytorium za pomocą README.

  6. Utwórz repozytorium.

Gratulacje! Udało Ci się utworzyć pierwsze repozytorium i zainicjować je plikiem README.

Teraz po wykonaniu tych kroków będziesz chciał wypchnąć kod na komputerze lokalnym do właśnie utworzonego repozytorium i wykonaj następujące czynności:

  1. git init (w folderze głównym, w którym znajduje się kod)

  2. git add -A (spowoduje to dodanie wszystkich plików i folderów do katalogu do zatwierdzenia)

  3. git commit -am "First Project commit"

  4. git remote add origin git@github.com:YourGithubName/your-repo-name.git (ten adres znajdziesz w utworzonym właśnie repozytorium GitHub pod „URL klonowania ssh” na stronie głównej)

  5. git push -u origin master

Otóż ​​to. Twój kod zostanie teraz przekazany do GitHub. Teraz za każdym razem, gdy chcesz nadal wypychać kod, który się zmienił, po prostu zrób.

  1. git commit -m "New changes"

  2. git push origin master (jeśli master jest gałęzią, nad którą pracujesz)


1

Rozwiązanie dla mnie:

Problemem jest rozmiar pliku, który nie może przekroczyć 100 MB.

Przed migracją do github wykonaj w repozytorium:

git clone --mirror git://example.com/some-big-repo.git

wget http://repo1.maven.org/maven2/com/madgag/bfg/1.12.12/bfg-1.12.12.jar

mv bfg-1.12.12.jar bfg.jar

java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git

cd some-big-repo.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git push

Gotowy!

Teraz ponownie wykonaj migrację za pomocą narzędzia: https://github.com/new/import

zobacz więcej: Błąd podczas przesyłania do repozytorium github i https://rtyley.github.io/bfg-repo-cleaner/

Mam nadzieję że ci pomogłam. :)


0

Utwórz repozytorium w git hub

Pozwól na śledzenie projektu przez GIT

  1. za pomocą CMD przejdź do folderu, w którym przechowywany jest plik projektu-> cd / automation / xyz / codebase sprawdź intializację git ze statusem polecenia git Jeśli pojawi się ten komunikat o błędzie: fatal: Nie repozytorium git (ani żadnego z katalogów nadrzędnych): .git, oznacza to, że folder, w którym aktualnie się znajdujesz, nie jest śledzony przez git. W takim przypadku zainicjuj git w folderze projektu, wpisując git init, a następnie przechodząc przez proces dodawania i zatwierdzania projektu.

Jeśli pojawi się kolejny komunikat o błędzie, przeczytaj uważnie jego treść. Czy to znaczy, że git nie jest zainstalowany na twoim komputerze, mówiąc, że słowo „git” nie jest rozpoznawane? Czy to znaczy, że jesteś już w folderze lub podfolderze, w którym inicjowany jest git? Google twój błąd i / lub wynik, aby go zrozumieć i dowiedzieć się, jak go naprawić.

teraz uruchom następujące polecenie

#

echo „nazwa repozytorium git hub” >> README.md git init git dodaj README.md git commit -m „pierwsze zatwierdzenie” git zdalnie dodaj początek https: // #

powyższy blok otrzymasz przy pierwszym otwarciu repozytorium

Jeśli wystąpi błąd lub nic się nie stanie po ostatnim uruchomieniu polecenia „git push -u origin master”, nie martw się

przejdź do folderu, w którym dostępny jest kod i poprzez rozszerzenie git wypchnij go do git [URL], oddział

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.