Dopo aver aggiunto alcune cose ... impegnale e dopo tutto finito spingilo! SCOPPIO!! Inizia tutti i problemi ... Come dovresti notare, ci sono alcune differenze nel modo in cui sono stati definiti sia i progetti nuovi che quelli esistenti. Se un'altra persona prova ad aggiungere / eseguire il commit / push degli stessi file o contenuti (git mantiene entrambi gli stessi oggetti), riscontreremo il seguente errore:
$ git push
Counting objects: 31, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (21/21), 2.07 KiB | 0 bytes/s, done.
Total 21 (delta 12), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository database ./objects remote: fatal: failed to write object
Per risolvere questo problema, devi tenere presente il sistema di autorizzazioni del sistema operativo, poiché in questo caso sei limitato da esso. Capisci meglio il problema, vai avanti e controlla la cartella del tuo oggetto git (.git / objects). Probabilmente vedrai qualcosa del genere:
<your user_name>@<the machine name> objects]$ ls -la
total 200
drwxr-xr-x 25 <your user_name> <group_name> 2048 Feb 10 09:28 .
drwxr-xr-x 3 <his user_name> <group_name> 1024 Feb 3 15:06 ..
drwxr-xr-x 2 <his user_name> <group_name> 1024 Jan 31 13:39 02
drwxr-xr-x 2 <his user_name> <group_name> 1024 Feb 3 13:24 08
* Nota che le autorizzazioni di quel file sono state concesse solo ai tuoi utenti, nessuno potrà mai cambiarlo ... *
Level u g o
Permission rwx r-x ---
Binary 111 101 000
Octal 7 5 0
RISOLUZIONE DEL PROBLEMA
Se disponi dell'autorizzazione superutente, puoi andare avanti e modificare tutte le autorizzazioni da solo utilizzando il passaggio due, in ogni caso dovrai chiedere a tutti gli utenti con oggetti creati con i loro utenti, utilizzare il comando seguente per sapere chi sono :
$ ls -la | awk '{print $3}' | sort -u
<your user_name>
<his user_name>
Ora tu e tutti gli utenti proprietari del file dovrete modificare i permessi di questi file, facendo:
$ chmod -R 774 .
Dopodiché dovrai aggiungere una nuova proprietà che è equivalente a --shared = group fatto per il nuovo repository, secondo la documentazione, questo rende il repository scrivibile dal gruppo, fallo eseguire:
$ git config core.sharedRepository group
https://coderwall.com/p/8b3ksg
git add
egit commit
-ing come utente root. L'ho risolto con unagit reset
e questa risposta alla domanda per correggere i.git
permessi della directory.