Controllo versione localmente su Android

0

Sto provando a creare qualche controllo di versione localmente sul mio progetto Android. È solo per avere il controllo sulle mie modifiche, ma non voglio caricarle su nessun repository esterno. Né voglio creare cartelle infernali con le date degli aggiornamenti ...

Vorrei usare Git, in cui sono un po 'familiare. Ho anche familiarità con GitLab e GitKraken.

Ho visto che ci sono alcuni repository privati su GitLab ma suppongo che tu debba caricare il codice su un repository esterno.

I miei dubbi sono qui, quali sono le differenze di sicurezza quando si memorizza il codice sul mio computer (con un sistema di controllo della versione), rispetto al caricamento su un repository privato esterno? Ha effetti legali per memorizzare il mio codice in un repository esterno? Sarà un'app pubblica in futuro, ma non voglio condividere il codice (almeno, al momento). Voglio mantenere tutti i diritti a riguardo.

Inoltre, se utilizzo GitKraken non so se posso effettuare commit sul repository locale senza collegarlo con un repository esterno (origine) perché tutti gli esempi che ho visto utilizzano un repository esterno come origine. È possibile effettuare commit solo con un repository locale? Posso caricare tutti i miei commit in un repository privato esterno (se necessario) in futuro? Voglio dire, tutti quei commit che ho fatto nel repository locale.

Per finire, vale quello che sto cercando di fare? Voglio dire, rendere tutti i commit nel repository locale invece che in un repository esterno privato e, magari caricarli in un repository privato esterno in futuro (al momento sono l'unico che svilupperà l'app ma non so se in futuro ci saranno più persone che lo sviluppano).

Sto iniziando con i sistemi di controllo delle versioni e non l'ho mai fatto localmente, quindi qualsiasi aiuto sarebbe gradito.

    
posta Francisco Romero 02.02.2018 - 00:35
fonte

2 risposte

3

Git può essere usato al 100% localmente, senza alcun server. Il valore dell'utilizzo di un servizio di hosting Git è

  • questo consente a più sviluppatori di collaborare più facilmente e
  • l'interfaccia web, con funzionalità come track tracker, richieste pull, ricerca codice, ... e
  • integrazioni con altri servizi che desideri utilizzare.

Vale anche la pena notare che l'utilizzo di un repository remoto protegge dalla perdita di dati quando il computer locale si arresta in modo anomalo. Ma non è un backup e non sarà di aiuto se si esegue il push di una cronologia di commit errata. È ancora necessario disporre della propria strategia di backup.

Hai menzionato la sicurezza e l'utilizzo di un servizio di hosting git ha potenziali implicazioni sulla sicurezza:

  • Un repository configurato in modo errato potrebbe essere accidentalmente reso pubblico.
  • Il servizio di hosting potrebbe presentare un'interruzione, impedendo il tuo lavoro.
  • Un servizio di hosting dannoso o compromesso potrebbe manipolare o pubblicare il tuo repository.

L'utilizzo di un servizio di hosting per repository non pubblici non ha effetti legali oltre a quelli del contratto tra te e il servizio di hosting.

Se disponi di un repository locale, è possibile senza molto sforzo aggiungere un telecomando in un secondo momento.

# create a local repository called "foo"
$ git init foo

...
# connect a remote repository that's currently empty
$ git remote add origin URL

# push only the master branch
$ git push -u origin master

# push all branches and tags
$ git push -u --all origin
$ git push --tags origin

Se esiste la possibilità che un repository venga pubblicato, in nessun caso devono essere riservati segreti e informazioni riservate o sensibili. Anche se in seguito elimini quei file, sono diventati parte della cronologia dei commit e possono quindi essere trovati e ripristinati. Pertanto, escludi i file di configurazione ecc. Con .gitignore , e non mettere affatto queste informazioni in file, se possibile.

    
risposta data 02.02.2018 - 12:43
fonte
1

Git può essere usato localmente, ma dovresti davvero fare progressi importanti in un repository al di fuori della directory di lavoro e preferibilmente su un altro disco / macchina.

Questo perché la cartella .git all'interno della directory di lavoro in cui tutti gli oggetti git e i dati di tracciamento sono memorizzati per impostazione predefinita non è particolarmente sicura contro i tipi di comandi errati o errori di sistema che potrebbero portare alla perdita dei file estratti.

    
risposta data 04.02.2018 - 00:38
fonte