/ / Git commit problem: Impossibile aggiungere a .git / - git, permessi, github

Problema di commit Git: impossibile aggiungere a .git / - git, permessi, github

Non riesco a commettere modifiche nel mio progetto quando uso git.

Ecco il mio terminale:

tomas@tomas-laptop:~/menu_operations$ git commit -m "initial commit"
error: Unable to append to .git/logs/refs/heads/7.x-1.x: Permission denied
fatal: cannot update HEAD ref

menu_operations è il nome del mio progetto.

Non so quale permesso devo permettere. Qualcuno può aiutare?

risposte:

42 per risposta № 1

Controlla l'utente e l'autorizzazione su .git / logs / refs / heads /, forse hai eseguito qualcosa come root.

Spiegazione: quando esegui alcuni comandi git come root (sudo?) tutti i nuovi file / directory create saranno di proprietà di root, e per impostazione predefinita [1] altri utenti non avranno permessi di scrittura su questi file / directory.

Quando, più tardi, lavorerai con quel repository, le cose potrebbero apparire lavorare, fino al momento in cui è necessario scrivere a un file creato di fatto da root, ad es. posseduto da radice.

Questo dovrebbe risolverlo, almeno su linux:

 sudo chown -Rc $UID .git/

Ti mostrerà anche tutti i file per i quali ha cambiato proprietario.

[1] in un setup corretto, almeno


0 per risposta № 2

Controlla l'utente e l'autorizzazione su .git / logs / refs / heads /, forse hai eseguito qualcosa come root.


0 per risposta № 3

Volevo solo aggiungere per chi distribuisce con Capistrano che dovresti lavorare con le directory .git / qui

/var/www/rails/production/shared/git_cache/.git

e

/var/www/rails/production/current/.git

Questo presuppone che tu stia usando queste directory e che stai spingendo verso la produzione ... ma dovrebbe farti andare nella giusta direzione.


0 per risposta № 4

chown -R $ (whoami) /usr/local.git dovrebbe farlo.


0 per risposta № 5

uso

sudo chown -R youremailid .git /


-1 per risposta № 6

Comando di Linux:

  • sudo chown -Rc $ UID .git /
  • id -u {yourusername}

e il risultato: cambiato proprietà di ".git / packed-refs" da root a 1000

cambiato proprietà di ".git / logs / HEAD" da root a 1000

cambiato proprietà di ".git / logs / refs / heads / master" da root a 1000

cambiato proprietà di ".git / logs / refs / remotes / origin / HEAD" da root a 1000

cambiato proprietà di ".git / logs / refs / remotes / origin / master" da root a 1000

cambiato proprietà di '.git / objects / pack / pack-b905d78889aea64ca69a61c0efaa76ba95b08786.idx' da root a 1000

cambiato proprietà di '.git / objects / pack / pack-b905d78889aea64ca69a61c0efaa76ba95b08786.pack' da root a 1000

cambiato proprietà di ".git / objects / info / packs" da root a 1000

cambiato proprietà di ".git / info / refs" da root a 1000