Vorresti lamentarmi se creo i miei progetti in più directory? [chiuso]

-1

Sono nuovo di git (e github). Lavoro in Java e Python. In questo momento, gestisco i miei progetti in una sola directory: chiamiamolo Code e la cartella si trova sul mio desktop.

Voglio raggruppare i miei progetti in base alla lingua che inserisco. Quindi, desidero:

/Code/
++ /Java/
++ /Python/

Non so se Git sarebbe felice con questo o no. Se lo fosse, come dovrei impostare la mia home directory?

E come dovrei gestirlo con il mio account github? Ad esempio, creo un nuovo repository su GH per un new-project in Python (ma ho già file sul mio computer locale in /Code/Python/new-project ), come dovrei fare per commettere i file su GH assicurandoti che tutte le altre directory non siano incasinate con?

EDIT:

Per essere chiari, ho progetti non collegati in /Code/project_1 , /Code/project_2 , /Code/project_3 ecc. Ma voglio sistemarli come /Code/Java/project_1 , /Code/Java/project_1 , /Code/Python/project_1 ecc.

    
posta Karan Goel 12.06.2013 - 02:02
fonte

2 risposte

2

Git, per tutto questo, non importa a cosa assomigli la struttura della tua directory. Può essere annidato all'infinito, uno spazio file ampio e piatto in una singola directory o qualsiasi altra cosa. Non importa se hai dei collegamenti simbolici che puntano a file tra le directory, non ti interessa nemmeno se hai collegamenti simbolici che puntano all'esterno dell'albero del progetto.

Inoltre non importa in quale lingua sono scritti i file, o se sono programmi, dati, immagini, ecc.

GIT DO NOT CARE. Git è un tasso di miele in questo senso.

L'unica avvertenza qui, se una directory è vuota, Git non la raccoglierà per aggiungerla al repository. Questo è il motivo per cui vedi così tante directory nude ad eccezione di un file .gitkeep. Il nome di questo file non è importante per Git, è solo una convenzione adottata da noi Gits. :)

Quindi, organizzare il tuo progetto ha comunque senso per te. Le uniche convenzioni importanti che sembrano andare su tutta la linea stanno avendo un file readme e di licenza nella root del progetto. Il particolare ambiente del tuo progetto potrebbe richiedere di più, ma poi entreremo in ulteriori dettagli.

Ancora, GIT DO NOT CARE.

Ora, per rispondere alla tua domanda specifica: basta fare un repo per ogni progetto; Git, né Github, cura:

YOUR MACHINE:
  /Code
    /Python
      /pycoolstuff
        /.git/
        /.gitignore
      /pymorecoolstuff
        /.git/
        /.gitignore
    /Java
      /enterpriseTiddlyWinks
        /.git/
        /.gitignore
    /Ruby
      /Rails
        /RecipeApp
          /.git/
          /.gitignore
      /Sinatra
        /comicservice
          /.git/
          /.gitignore

Nel frattempo, su github, hai solo questi progetti come singoli repository di repository:

github.com/imacoder/comicservice
github.com/imacoder/pycoolstuff
github.com/imacoder/pymorecoolstuff
github.com/imacoder/enterpriseTiddlyWinks
github.com/imacoder/RecipeApp

Le istruzioni per affrontare il repository locale esistente dopo aver effettuato il repository Github sono proprio lì nella pagina di post-creazione che ottieni da Github:

Sulla macchina locale:

$ cd /Code/Python/new_project
$ git add --all -v # assuming you do know you want everything checked in
$ git commit -m 'some message'
$ git remote add origin [email protected]:imacoder/new_project

(Se avessi Github, crea il README e / o .gitignore (non lo faccio mai))

$ git pull origin master

(Risolvi eventuali conflitti di unione)

$ git push origin master

Boom-de-bla! Tutto è su Github.

    
risposta data 12.06.2013 - 06:26
fonte
1

Non so se è considerata una buona pratica o no, ma sono abbastanza sicuro che git permette di creare un nuovo repository locale in qualsiasi directory arbitraria, che può quindi essere aggiunto a github tramite il comando standard "git remote add" o i menu rilevanti nell'applicazione della GUI.

    
risposta data 12.06.2013 - 04:28
fonte

Leggi altre domande sui tag