Saya mengalami masalah aneh yang sepertinya tidak dapat saya selesaikan. Inilah yang terjadi:
Saya memiliki beberapa file log di repositori github yang tidak saya inginkan di sana. Saya menemukan skrip ini yang menghapus file sepenuhnya dari riwayat git seperti:
#!/bin/bash
set -o errexit
# Author: David Underhill
# Script to permanently delete files/folders from your git repository. To use
# it, cd to your repository's root and then run the script with a list of paths
# you want to delete, e.g., git-delete-history path1 path2
if [ $# -eq 0 ]; then
exit 0are still
fi
# make sure we're at the root of git repo
if [ ! -d .git ]; then
echo "Error: must run this script from the root of a git repository"
exit 1
fi
# remove all paths passed as arguments from the history of the repo
files=$@
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $files" HEAD
# remove the temporary history git-filter-branch otherwise leaves behind for a long time
rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune
Saya, tentu saja, membuat backup terlebih dahulu dan kemudian mencobanya. Sepertinya bekerja dengan baik. Saya kemudian melakukan git push -f dan disambut dengan pesan berikut:
error: Unable to append to .git/logs/refs/remotes/origin/master: Permission denied
error: Cannot update the ref 'refs/remotes/origin/master'.
Semuanya tampaknya telah didorong dengan baik, karena file-file tersebut tampaknya hilang dari repositori GitHub, jika saya mencoba dan mendorong lagi saya mendapatkan hal yang sama:
error: Unable to append to .git/logs/refs/remotes/origin/master: Permission denied
error: Cannot update the ref 'refs/remotes/origin/master'.
Everything up-to-date
EDIT
$ sudo chgrp {user} .git/logs/refs/remotes/origin/master
$ sudo chown {user} .git/logs/refs/remotes/origin/master
$ git push
Everything up-to-date
Terima kasih!
EDIT
Uh oh. Masalah. Saya telah mengerjakan proyek ini sepanjang malam dan baru saja melakukan perubahan saya:
error: Unable to append to .git/logs/refs/heads/master: Permission denied
fatal: cannot update HEAD ref
Jadi saya:
sudo chown {user} .git/logs/refs/heads/master
sudo chgrp {user} .git/logs/refs/heads/master
Saya mencoba komit lagi dan saya mendapatkan:
error: Unable to append to .git/logs/HEAD: Permission denied
fatal: cannot update HEAD ref
Jadi saya:
sudo chown {user} .git/logs/HEAD
sudo chgrp {user} .git/logs/HEAD
Dan kemudian saya mencoba komit lagi:
16 files changed, 499 insertions(+), 284 deletions(-)
create mode 100644 logs/DBerrors.xsl
delete mode 100644 logs/emptyPHPerrors.php
create mode 100644 logs/trimXMLerrors.php
rewrite public/codeCore/Classes/php/DatabaseConnection.php (77%)
create mode 100644 public/codeSite/php/init.php
$ git push
Counting objects: 49, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (27/27), done.
Writing objects: 100% (27/27), 7.72 KiB, done.
Total 27 (delta 15), reused 0 (delta 0)
To git@github.com:IAmCorbin/MooKit.git
59da24e..68b6397 master -> master
Hore. Saya membuka http://GitHub.com dan memeriksa repositori, dan komit terbaru saya tidak ada di mana bisa ditemukan. :: garuk kepala :: Jadi saya dorong lagi:
Everything up-to-date
Umm ... tidak terlihat seperti itu. Saya belum pernah mengalami masalah ini sebelumnya, mungkinkah ini masalah dengan github? atau apakah saya mengacaukan sesuatu dengan proyek git saya?
EDIT
Tidak masalah, saya melakukan yang sederhana:
git push origin master
dan itu mendorong dengan baik.