Importa il codice sorgente esistente in GitHub


609

Come posso importare il codice sorgente dal mio computer al mio account GitHub?


4
Ho trovato più semplice utilizzare la GUI di GitHub e quindi puntare la configurazione alla radice dell'area di lavoro e fare clic sul pulsante "Trova repository sul tuo disco rigido" e identificherà tutti i repository Git locali nell'area di lavoro e consentirà di importarli singolarmente. Facile.
Djangofan,

1
@djangofan A quale interfaccia grafica github ti riferisci? Hai un link alla GUI?
Anderson Green,


La risposta di Pete ha funzionato perfettamente su OS X: non è necessario utilizzare una GUI.
funroll

Risposte:


969

Se hai il codice sorgente locale che vuoi aggiungere a un nuovo repository git remoto remoto senza prima 'clonare' il telecomando, procedi come segue (spesso lo faccio - crei il tuo repository vuoto remoto in bitbucket / github, quindi fai clic su la tua fonte)

  1. Crea il repository remoto e ottieni l'URL come git@github.com:/youruser/somename.gitohttps://github.com/youruser/somename.git

    Se il repository GIT locale è già impostato, salta i passaggi 2 e 3


  2. A livello locale, nella directory principale della fonte, git init

    2a. Se si inizializza il repository con un file .gitignore e un file README.md, è necessario eseguire una operazione git pull {url from step 1}per assicurarsi di non eseguire il commit dei file sull'origine che si desidera ignorare;)

  3. A livello locale, aggiungi e impegna ciò che desideri nel repository iniziale (per tutto, git add .quindi git commit -m 'initial commit comment')


  4. per collegare il tuo repository remoto con il nome 'origine' (come farebbe la clonazione)
    git remote add origin [URL From Step 1]

  5. Eseguire git pull origin master per estrarre il ramo remoto in modo che siano sincronizzati.
  6. per spingere verso l'alto il tuo ramo principale (cambia il maestro in qualcos'altro per un altro ramo):
    git push origin master

92
Ha funzionato per me. Ho scoperto che dovevo correre git pull origin masterprima del push git. Senza di essa, ho ricevuto l'errore "perché la punta del ramo corrente è indietro" durante il tentativo di push. Forse questo perché ho creato il repository remoto con un file Readme.md iniziale.
yuvilio,

5
Ottieni l'URL del repository per il protocollo SSH per poter eseguire il commit utilizzando le tue chiavi private ssh invece di digitare una password.
Snicolas,

5
@yuvilio è esattamente per questo. Se crei il tuo repository github con un readme.md, ora sei effettivamente dietro ciò che stai cercando di creare la tua origine.

7
Come diceva @Snicolas, se usi SSH, usa git@github.com: youruser / somename.git invece di git: //github.com/youruser/somename.git.
Tsusanka,

5
GitHub spiega questa stessa procedura immediatamente dopo aver creato un nuovo repository. Come già detto da @yuvilio, non dovresti inizializzare il tuo repository con un README. Invece, vai con touch README.mdil tuo repository locale esistente
Simone

41

Questo è spiegato nell'eccellente eBook gratuito ProGit . Presuppone che tu abbia già un repository Git locale e uno remoto. Per connetterli utilizzare:

$ 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

Per inviare i dati dal repository locale a GitHub usare:

$ git push pb master

Se non hai ancora configurato un repository locale e / o remoto, consulta la guida su GitHub e i capitoli precedenti nel libro .


21

Uno dei commenti menzionati utilizzando la GUI di GitHub, ma non ha fornito alcun aiuto specifico sull'uso e ha notato che la maggior parte, se non tutte, le risposte erano utili solo al prompt dei comandi.

Se si desidera utilizzare la GUI di GitHub, è possibile seguire questi passaggi:

  1. Fai clic sul pulsante "+" e seleziona "Aggiungi repository locale" Inserisci qui la descrizione dell'immagine
  2. Passare alla directory con il codice esistente e fare clic sul pulsante "Aggiungi".
  3. Ora dovrebbe essere richiesto di "Creare qui un nuovo repository Git locale", quindi fare clic sul pulsante "Sì". Inserisci qui la descrizione dell'immagine
  4. Aggiungi il "Riepilogo commit" e la "Descrizione estesa" come desiderato. Per impostazione predefinita, tutti i file dovrebbero essere già selezionati con segni di spunta. Fai clic sul pulsante "Salva e sincronizza". Inserisci qui la descrizione dell'immagine
  5. Ora ti verrà chiesto di aggiungere il nome e la descrizione del tuo progetto, nonché l'account a cui inviarlo (se ne hai diversi). Fai clic sul pulsante "Push Repository" Inserisci qui la descrizione dell'immagine

Dopo un momento con un'icona GitHub che gira, il tuo codice sorgente apparterrà a un repository locale e verrà trasferito / sincronizzato con un repository remoto sul tuo account GitHub. Tutto questo presuppone che tu abbia precedentemente impostato la GUI di GitHub, il tuo account GitHub e le chiavi SSH.


@cfont Questo mantiene la lunga storia che esiste già nel mio repository locale o crea solo un enorme commit e ho perso tutta la mia storia?
theJollySin

1
@theJollySin, mi dispiace che devo lavorare per far funzionare correttamente le mie notifiche di StackOverflow, suppongo. Ciò dovrebbe conservare la cronologia del repository locale esistente. TBH, non l'ho testato al momento, ma non riesco a pensare a un motivo per cui farebbe a pezzi la tua storia locale. In effetti, l'intero punto dovrebbe essere quello di mantenerlo a meno che tu non voglia effettivamente schiacciare i commit.
cfr.

12

Come giustamente sottolinea JB, è reso incredibilmente facile su GitHub semplicemente seguendo le istruzioni.

Ecco un esempio delle istruzioni visualizzate dopo aver impostato un nuovo repository su GitHub utilizzando http://github.com/new quando si è effettuato l'accesso.

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.

Non potrebbe essere più semplice !!



8

Ho avuto un po 'di problemi con l'unione quando ho provato a fare i passi di Pete. Questi sono i passaggi con cui sono finito.

  1. Utilizzare il sistema operativo in uso per eliminare la .gitcartella all'interno della cartella del progetto che si desidera eseguire il commit. Questo ti darà una lavagna pulita con cui lavorare. Questo è anche un buon momento per creare un .gitignorefile all'interno della cartella del progetto. Questa può essere una copia di quella .gitignorecreata quando hai creato il repository su github.com. Fare questa copia eviterà di cancellarla quando aggiorni il repository github.com.

  2. Apri Git Bash e vai alla cartella da cui hai appena eliminato la .gitcartella.

  3. Corri git init. Questo imposta un repository locale nella cartella in cui ti trovi.

  4. Corri git remote add [alias] https://github.com/[gitUserName]/[RepoName].git. [alias] può essere quello che vuoi. L'alias è pensato per legarsi al repository locale, quindi il nome della macchina funziona bene per un alias. L'URL può essere trovato su github.com, nella parte superiore assicurati che il pulsante HTTP da HTTP | SSH | Git sia di sola lettura. L' git://URL non ha funzionato per me.

  5. Correre git pull [alias] master . Ciò aggiornerà il tuo repository locale ed eviterà alcuni conflitti di fusione.

  6. Correre git add .

  7. Correre git commit -m 'first code commit'

  8. Correre git push [alias] master


1
-1 Questo fa un po 'di più che semplicemente "importa il codice esistente in github". cancella l'intera cronologia del repository!
Michael Durrant,

6
  1. Apri la dashboard di GitHub (è su https://github.com/ se hai effettuato l'accesso)
  2. Fai clic su Nuovo repository
  3. Riempi gli spazi vuoti; fai clic su Crea repository
  4. Seguire le istruzioni sulla pagina che appare quindi

6

Da Bitbucket:

Esegui il push di un repository esistente. Hai già un repository Git sul tuo computer. Spingiamolo su 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
a proposito, -u è lo stesso di --set-upstream.
AnneTheAgile,

4

Sono venuto qui alla ricerca di un modo semplice per aggiungere file sorgente esistenti a un repository GitHub. Ho visto la risposta eccellente e completa di Pete e ho pensato "Cosa ?! Ci deve essere un modo più semplice."

Ecco il modo più semplice in cinque passaggi (non è richiesta alcuna azione da console!)

Se hai davvero fretta, puoi semplicemente leggere il passaggio 3. Gli altri sono lì solo per completezza.

  1. Creare un repository sul sito Web GitHub. (Non offenderò la tua intelligenza guidandoti attraverso questo passo per passo.)
  2. Clonare il nuovo repository localmente. (È possibile farlo tramite il sito Web o tramite il software client desktop.)
  3. Trova il repository appena clonato sul tuo disco rigido e aggiungi i file come faresti in una normale directory.
  4. Sincronizza le modifiche con il backup su GitHub.
  5. Questo è tutto!

Fatto!


4

Aggiungi un repository GitHub come origine remota (sostituisci [] con il tuo URL):

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

Passa al tuo ramo principale e copialo per sviluppare il ramo:

git checkout master
git checkout -b develop

Spingi il tuo ramo di sviluppo sul ramo di sviluppo GitHub ( -fsignifica forza):

git push -f origin develop:develop

3

In realtà, se si opta per la creazione di un repository vuoto su GitHub, si danno le istruzioni esatte che è possibile quasi copiare e incollare nel proprio terminale che sono (a questo punto nel tempo):

…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

Ecco alcune istruzioni su come avviare un repository GitHub e quindi inviare il codice che hai già creato. Il primo set di istruzioni proviene direttamente da GitHub.

Fonte: https://help.github.com/articles/create-a-repo/

  1. Nell'angolo in alto a destra di qualsiasi pagina, fare clic su, quindi fare clic su Nuovo repository .

  2. Crea un nome breve e memorabile per il tuo repository. Ad esempio, "ciao-mondo".

  3. Facoltativamente, aggiungi una descrizione del tuo repository. Ad esempio, "Il mio primo repository su GitHub".

  4. Scegli tra la creazione di un repository pubblico o privato.

  5. Inizializza questo repository con un file README.

  6. Crea repository.

Congratulazioni! Hai creato correttamente il tuo primo repository e lo hai inizializzato con un file README.

Ora dopo questi passaggi vorrai inviare il codice sul tuo computer locale fino al repository che hai appena creato e lo fai seguendo questi passaggi:

  1. git init (nella cartella principale in cui si trova il codice)

  2. git add -A (questo aggiungerà tutti i file e le cartelle nella tua directory da impegnare)

  3. git commit -am "First Project commit"

  4. git remote add origin git@github.com:YourGithubName/your-repo-name.git (troverai questo indirizzo nel repository GitHub che hai appena creato sotto "URL clone ssh" nella pagina principale)

  5. git push -u origin master

Questo è tutto. Il tuo codice verrà ora trasferito su GitHub. Ora ogni volta che vuoi continuare a spingere il codice che è cambiato basta.

  1. git commit -m "New changes"

  2. git push origin master (se master è il ramo su cui stai lavorando)


1

Soluzione per me:

Il problema è la dimensione di un file, che non può superare 100M.

Prima di migrare su github, nel repository procedere come segue:

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

Pronto!

Ora esegui nuovamente la migrazione tramite lo strumento: https://github.com/new/import

vedi di più: Errore durante l'invio al repository github e https://rtyley.github.io/bfg-repo-cleaner/

Spero di averti aiutato. :)


0

Crea il tuo repository in git hub

Consenti di tenere traccia del tuo progetto tramite GIT

  1. usando CMD vai alla cartella in cui è conservato il tuo file di progetto-> cd / automation / xyz / codebase controlla l'inizializzazione git con lo stato git del comando Se ricevi questo messaggio di errore: fatale: non un repository git (o una qualsiasi delle directory principali): .git, ciò significa che la cartella in cui ti trovi attualmente non viene tracciata da git. In tal caso, inizializza git nella cartella del progetto digitando git init, quindi eseguendo il processo di aggiunta e commit del progetto.

Se ricevi un altro messaggio di errore, leggi attentamente cosa dice. Sta dicendo che git non è installato sul tuo computer dicendo che la parola 'git' non è riconosciuta? Sta dicendo che sei già in una cartella o sottocartella in cui git è inizializzato? Google il tuo errore e / o output per capirlo e capire come risolverlo.

ora esegui il seguente comando

#

echo "il nome del tuo repository git hub" >> README.md git init git aggiungi README.md git commit -m "primo commit" git remoto aggiungi origine https: // #

sopra il blocco si otterrà alla prima apertura del repository

Se si verifica un errore o non succede nulla dopo l'ultimo comando eseguito "git push -u origin master" non preoccuparti

vai alla cartella in cui è disponibile il codice e tramite l'estensione git spingilo su git [URL], branch

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.