2013-02-19 1 views
15

Я пытаюсь извлечь репо из Github, вернуть тег в прошлое, нажать на другой пульт с удалением всей истории. Я могу сделать все ниже, за исключением удаления всех журналов фиксации. Что мне не хватает?Удалить все Git Commit History

git clone https://github.com/user/user-repo.git 
cd user-repo 
git reset --hard tags/v2.0 
git remote add stash ssh://[email protected]:7999/myproject/user-repo.git 
git push --force stash master 

ответ

33

Я думал, что вы хотите, это репо, как новый, поэтому удаление каталога .git/ и повторная инициализация будут проще.

git clone https://github.com/user/user-repo.git 
cd user-repo 
git reset --hard tags/v2.0 

rm -rf .git/ 
git init 
git add . 
git commit -m 'first commit' 

git remote add stash ssh://[email protected]:7999/myproject/user-repo.git 
git push --force stash master 
+0

Спасибо, вот что я закончил, прежде чем читать ваше сообщение. Я сделал то же самое :) – noway

+0

Это очень помогло мне! Спасибо – breezy

+0

Это то, что я хочу. – Shaowu

3

Вы можете использовать git merge --squash сквош все совершает в одну, а затем нажмите на него.

1

Вы в основном говорите о свертывании всех коммитов в одном коммите или хотите сохранить все коммиты, но обрезать фактическое сообщение фиксации?

сквош коммитов в один (и усечении окончательного сообщения коммита, если вы хотите), вы можете использовать интерактивный перебазироваться:

git rebase -i <whatever> 

усечь фактическую фиксацию сообщений, но сохраняет все коммиты, используйте опцию --msg-filter для git filter-branch.

 Смежные вопросы

  • Нет связанных вопросов^_^