Это действительно отличная пара псевдонимов, которую я недавно нашел в 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
, которого не было на момент написания подсказки, что упростило бы перезапись при редактировании без объединения, чтобы избежать включения конфликтов удаления, поскольку обычно вы хотите удалить / сохранить эти , не редактируйте их. Но 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 для необработанного (модифицированного).