#git #git-rebase
#git #git-перебазирование
Вопрос:
это часть моей git status
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# deleted by us: ../../src/generic/asdfgsdfgsfg.java
# deleted by us: ../../src/generic/bsdfgsdf.java
# deleted by us: ../../src/generic/cdghdfgh.java
# deleted by us: ../../src/generic/dghkghjk.java
# deleted by us: ../../src/generic/eghkghjk.java
# deleted by us: ../../src/generic/fsdfgsdfg.java
# deleted by us: ../../src/generic/gsdfgsd.java
# deleted by us: ../../src/generic/hdsfgsdfg.java
# deleted by us: ../../src/generic/isdgsdfg.java
# deleted by us: ../../src/generic/jdsfgsd.java
# deleted by us: ../../src/generic/ksdf.java
# deleted by us: ../../src/generic/lnsfgnsg.java
#
Как я могу легко и быстро внести git rm
изменения в каждый из этих файлов, зная, что в папке ../../src/generic/
есть много других файлов, которые я не хочу удалять.
Ответ №1:
Есть действительно отличная пара псевдонимов, которые я взял из git wiki некоторое время назад (в настоящее время они недоступны вместе с kernel.org ):
edit-unmerged =
"!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; vim `
add-unmerged =
"!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`"
Это можно было бы переопределить в терминах git status --porcelain
, которых не существовало при написании подсказки, что упростило бы переписывание edit-unmerged, чтобы избежать конфликтов удаления, поскольку обычно вы хотите удалить / сохранить их, а не редактировать. Но add-unmerged точно соответствует вашему варианту использования!
Что-то вроде этого (непроверенное):
add-unmerged =
"!f() { git status --porcelain | grep '^[ADU][ADU]' | cut -d" " -f2 }; git add `f`"
edit-unmerged =
"!f() { git status --porcelain | grep '^UU' | cut -d" " -f2 }; git add `f`"
с настройкой второго шаблона, пока он не будет включать только те типы конфликтов, которые вы хотите отредактировать. Вам определенно нужен UU; вы также можете захотеть AU / UA и, возможно, даже AA. A для добавленного, D для удаленного, U для несвязанного (измененного).