Надо что-бы друг затер полностью все, что он наделал, и заменил это на мою версию
git fetch origin # -- получить содержимое удалённого репозитория origin, но не мёржить в текущую ветку.
git reset --hard origin/master # -- установить текущую ветку в состояние ветки master из удалённого репозитория origin.
поднят новый репозиторий git, пока пустой; в дальнейшем изменения будут в нескольких (совершенно разных) папках, эти изменения и нужно отслеживать. Добавлять огромную кучу статических файлов нет никакого желания, трекать нужно только то, что нужно.
git rebase --onto <куда> <начало ветки> <конец ветки>
First let’s assume your topic is based on branch next.
For example, a feature developed in topic depends on some functionality
which is found in next.
o---o---o---o---o master
\
o---o---o---o---o next
\
o---o---o topic
We want to make topic forked from branch master;
for example, because the functionality on which topic depends
was merged into the more stable master branch.
We want our tree to look like this:
o---o---o---o---o master
| \
| o'--o'--o' topic
\
o---o---o---o---o next
We can get this using the following command:
git rebase --onto master next topic
Как удалить?
git rm -f <имя файла>
git commit
git push
-- удалить из HEAD, но оставить в историиgit rebase -i <ревизия в которой файл был добавлен>~1
<пометить самый первый коммит для редактирования заменив peek на e>
git rm -f <имя файла>
git commit --amend
git rebase --continue
git push
-- удалить из истории совсем. Если добавление было в последнем коммите, то команды git rebase можно опустить. [help]
format = man