2014-02-03 4 views
2

Некоторые из моих последних комментируемых файлов, к сожалению, слишком велики для github, поэтому я хотел бы удалить их из последней фиксации, что позволяет подталкивать другие файлы. Я попытался использовать git reset --HEAD для этого, но, похоже, работает, только если вы еще не выполнили файлы. Любые другие идеи?Удалите некоторые файлы с последнего фиксации

+0

какой размер файла, который отклоняет github? Это бинарный? –

+0

@MitchWheat Есть два из них: один текстовый файл размером 150 Мбайт, другой - 120 Мбайт. –

ответ

3

Это должно работать для вас:

  1. git rm виновных файлы
  2. git status должен показывать файлы как удаленные
  3. git commit --amend внести поправки в последней фиксации, файлы больше не должны быть включены
  4. git push

Посмотрите это transc НИИИТ:

[[email protected]/tmp/test master]touch b c 
[[email protected]/tmp/test master]git add b c 
[[email protected]/tmp/test master]git commit -m "Add b and c" 
[master 1cd809f] Add b and c 
0 files changed 
create mode 100644 b 
create mode 100644 c 
[[email protected]/tmp/test master]git rm c 
rm 'c' 
[[email protected]/tmp/test master]git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  deleted: c 
# 
[[email protected]/tmp/test master]git commit --amend -m "Add only b" 
[master 9c5809e] Add only b 
0 files changed 
create mode 100644 b 
[[email protected]/tmp/test master]git diff HEAD^..HEAD 
diff --git a/b b/b 
new file mode 100644 
index 0000000..e69de29 

Примечание: Это работает только если были добавлены обижая файлы в последней фиксации. В других случаях обратитесь к Remove sensitive data in the GitHub help, в нем объясняется удаление файла из полной истории.

Если этого не требуется, вы можете попробовать интерактивную переустановку (git rebase -i <commitish>) и мой метод выше.

+1

Это великолепно работало, спасибо! –

+0

@JimmyC Добро пожаловать! – TimWolla

+1

Также полезно в контексте «git rm --cached», который удаляет только файлы из индекса, но оставляет их в рабочем дереве. –

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