En saa oikein git:iä toimimaan etäpalvelimen kanssa. "git push/pull" eivät työnnä tiedostoa pääpalvelimelle.
Minulle näyttää kaikki ok, mutta kun tarkistan mitä on palvelimella, niin lisäämäni tiedostot puuttuvat.
Mitä vialla?
git add .
git commit -m "uusi tiedosto"
git push
7787bc6..7981547 master -> master
Tarkistetaan mitä on palvelimella, juuri lisätty tiedosto puuttuu. WTF?
Minulle näyttää kaikki ok, mutta kun tarkistan mitä on palvelimella, niin lisäämäni tiedostot puuttuvat.
Mitä vialla?
git add .
git commit -m "uusi tiedosto"
git push
7787bc6..7981547 master -> master
Tarkistetaan mitä on palvelimella, juuri lisätty tiedosto puuttuu. WTF?
Vastaukset 1
Vanhimmat
git pushin jälkeen tekemäsi muutokset näyttävät menneet palvelimelle. Muutokset tallennetaan palvelimella repositoryyn, eli .git-hakemiston alla olevaan koko projektin historian sisältävään tietorakenteeseen. Työtiedostot, jotka ovat aina vain yksi näkymä tähän historiaan, eivät päivity pushin seurauksena. Jos haluat päivttää ne, suorita palvelimella komento "git reset --hard".
Jos haluat, että jokainen "git push" päivittää serverin työtiedostot automaattisesti, tee post-update skripti, joka ajaa tuon git resetin. Se onnistuu serverillä esim. komennoilla
echo 'cd ..; env -i git reset --hard' > .git/hooks/post-update
chmod a rx .git/hooks/post-update