Удаление нескольких файлов из репозитория Git, которые уже были удалены с диска

Почему вы не используете Bundle. Из вашего первого фрагмента, вот как его настроить:

Fragment fragment = new Fragment();
Bundle bundle = new Bundle();
bundle.putInt(key, value);
fragment.setArguments(bundle);

Затем во втором фрагменте извлеките данные, используя:

Bundle bundle = this.getArguments();
int myInt = bundle.getInt(key, defaultValue);

Bundle установил методы для большого количества типы данных. См. http://developer.android.com/reference/android/os/Bundle.html

1278
задан Nick Volynkin 24 June 2015 в 06:12
поделиться

9 ответов

Для Git 1.x

$ git add -u

Это указывает git автоматически размещать отслеживаемые файлы, включая удаление ранее отслеживаемых файлов.

Для Git 2.0

Для создания всего рабочего дерева:

$ git add -u :/

Для создания только текущего пути:

$ git add -u .
2280
ответ дан 19 December 2019 в 20:14
поделиться

что-то как

git status | sed -s "s/^.*deleted: //" | xargs git rm 

может сделать это.

1
ответ дан Jeremy French 24 June 2015 в 16:12
поделиться

Можно использовать

git add -u

Для добавления удаленных файлов к району сосредоточения войск, затем фиксировать их

git commit -m "Deleted files manually"
729
ответ дан Cody Caughlan 24 June 2015 в 16:12
поделиться

При помощи мерзавца - добавляют с '-все' или '-обновление' опции, можно получить больше, чем Вы хотели. Новые и/или измененные файлы будут также добавлены к индексу. У меня есть установка псевдонима удара для того, когда я хочу удалить удаленные файлы от мерзавца, не касаясь других файлов:

alias grma='git ls-files --deleted -z | xargs -0 git rm'

Все файлы, которые были удалены из файловой системы, добавляются к индексу, как удалено.

48
ответ дан Malte Tancred 24 June 2015 в 16:12
поделиться
  • 1
    That' s точка, без порядка пунктом порядок любого запроса является ' undefined' согласно различным стандартам SQL. Там никакое категорическое поведение, потому что явно указано, что нет никакого deveinative поведения . – Cruachan 10 January 2009 в 03:27

Вы, вероятно, ищете-A:

git add -A

это подобно мерзавцу, добавляют-u, но также и добавляет новые файлы. Это - примерно эквивалент hg's addremove команда (хотя обнаружение перемещения является автоматическим).

165
ответ дан Dustin 24 June 2015 в 16:12
поделиться
  • 1
    Причина, почему я спрашивал, был определенный порядок, I' m предполагающий на основе кластерного индекса (PK) на некотором этапе выборов – Ray Booysen 8 January 2009 в 03:21

Если это - единственные изменения, можно просто сделать

git commit -a

для фиксации всех изменений. Это будет включать удаленные файлы.

29
ответ дан SpoonMeiser 24 June 2015 в 16:12
поделиться
  • 1
    Этот doesn' t действительно отвечают на вопрос: порядок все еще не определен, если Вы делаете union all? (ссылка) – Matt Fenwick 7 February 2012 в 08:15

Ни один из флагов git-add не будет указывать только на удаленные файлы; если все, что вы изменили, - это удаленные файлы, то все в порядке, но в противном случае вам нужно запустить git-status и проанализировать вывод.

Отработав ответ Джереми, я получил следующее:

git status |  sed -s "s/^.*deleted: //" | grep "\(\#\|commit\)" -v | xargs git rm
  1. Получить статус файлов.
  2. Для удаленных файлов выделите имя файла.
  3. Удалите все строки, начинающиеся с #s, а также строку состояния, в которой было слово «удалено»; Я не помню, что это было точно, и его больше нет, поэтому вам, возможно, придется изменить это для разных ситуаций. Я думаю, что группировка выражений может быть специфической функцией GNU, поэтому, если вы не используете gnutils, вам, возможно, придется добавить несколько строк grep -v .
  4. Передайте файлы в git rm .

Теперь вставляем это в псевдоним оболочки ...

5
ответ дан 19 December 2019 в 20:14
поделиться

Если вы просто запустите:

git add -u

git обновит свой индекс, чтобы знать, что файлы, которые вы удалили, действительно должны быть частью следующей фиксации. Затем вы можете запустить "git commit", чтобы проверить это изменение.

Или, если вы запустите:

git commit -a

Он автоматически примет эти изменения (и любые другие) и зафиксирует их.

Обновление : если если вы хотите добавить только удаленные файлы, попробуйте:

git ls-files --deleted -z | xargs -0 git rm
git commit
355
ответ дан 19 December 2019 в 20:14
поделиться
git rm test.txt

До или после удаления фактического файла.

61
ответ дан 19 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: