2015-02-23 3 views
2

git status показывает что-то вродемерзавец фотографии модифицированной файл без пути копирования вставки полного файла

git status 
# On branch icc-server-send-metric-values 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
#  modified: java/com/me/cards/preview/preview-card.js 

Я хочу, чтобы получить файл, но без перепечатывания его или скопировать вставив его. Самая близкая команда - add -i, но это только действительно волнует индекс, а не проверку. Какой хороший рабочий процесс здесь?

+0

Взгляните на [этот ответ] (http://stackoverflow.com/a/27443790/2274224). Это не совсем то, что вы просили, но можете применить к этой ситуации. –

+0

'git diff-files --name-only' перечисляет все измененные файлы, если вы когда-либо захотите иметь имена для скрипта или чего-то еще. – jthill

ответ

1

Используйте вкладку-завершение, которое предоставляет практически каждая оболочка. Есть много статей, которые помогут вам настроить это, в том числе this one для Bash.

Что касается чистого Git решений:

Если это единственное изменение, используйте git checkout ., чтобы отменить все изменения.

Если вы хотите сохранить некоторые изменения и отбросить других, используйте git checkout -p для интерактивного удаления изменений в рабочем каталоге. Когда Git предложит вам с изменениями из этого файла, используйте a:

а - выбросить этот кусок и все последующие ломти в файле

+0

Закладка вкладки не работает, потому что мой путь ужасно больше, чем в моем примере с игрушкой, но я не знал о контроле -p, вот что мне нужно и спасибо. – djechlin

1

Существует «плагин» для Git, который идеально подходит для этого кейс.

Это называется git number и позволяет вам ссылаться на измененные файлы по номерам.


«плагин» добавляет git number команду, которая - без каких-либо дополнительных параметров - это эквивалентно git status но с ведущими числами.

$ git number 
On branch master 
Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

1  a/b/c/d/e/f/g/test2 

nothing added to commit but untracked files present (use "git add" to track) 

Если вы предпочитаете git status -s (как я) git number покрывали Вас.

$ git number -s 
1 ?? a/b/c/d/e/f/g/test2 

После этого вы можете ссылаться на файлы по их количеству, предваряя каждую команду с number. git add может выглядеть следующим образом:

$ git number add 1 
git add a/b/c/d/e/f/g/test2 

git number вторит выполняемую команду, так что вы можете убедиться, что вы использовали правильный номер. git add был всего лишь примером, вы можете использовать любую команду и добавить ее с number.

Кроме того, он поддерживает диапазоны; если вы хотите добавить файлы 5-10, вы можете просто использовать git number add 5-10, а git number поймут вас.


Для любых дальнейших вопросов, которые я хотел бы предложить, чтобы просто взглянуть на github repository.