Ответ 1
Для unix-подобных систем вы всегда можете использовать звезду для указания файлов, например
git add *DSManager.java
будет включать все файлы DSManager.java git можно найти в исходном дереве, начиная с текущего рабочего каталога.
Использование команды git add
становится утомительным, когда путь к файлу становится длинным. Напр.
git add src_test/com/abc/product/server/datasource/manager/aats/DSManger.java
Можно ли обойти указание абсолютного пути к файлу? Может быть, используется какой-то образец или что-то еще?
Я знаю, что мы можем использовать git gui
. Но я хочу сделать это с помощью строки cmd.
Заранее благодарим за входные данные.
Для unix-подобных систем вы всегда можете использовать звезду для указания файлов, например
git add *DSManager.java
будет включать все файлы DSManager.java git можно найти в исходном дереве, начиная с текущего рабочего каталога.
С помощью bash вы можете установить "globstar" (shopt -s globstar
), а затем выполните:
git add **/DSManger.java
чтобы добавить все файлы под именем DSManager.java, находящиеся ниже текущего каталога.
(**/
соответствует всем каталогам и подкаталогам.)
Вот еще один способ добавить файлы. Поддерживается, по крайней мере, в git 1.7.1.
$ git add -i
staged unstaged path
1: unchanged +61/-61 a/very/long/path/that/we/really/dont/want/to/type.txt
2: unchanged +1/-1 another/very/long/path/that/we/really/dont/want/to/type.txt
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now> 2
Нажмите 2
, чтобы выбрать обновление, или введите u
.
staged unstaged path
1: unchanged +61/-61 a/very/long/path/that/we/really/dont/want/to/type.txt
2: unchanged +1/-1 another/very/long/path/that/we/really/dont/want/to/type.txt
Update>> 2
Нажмите номер, соответствующий файлу, который вы хотите выполнить. Разделите несколько чисел запятой, например. 1,2
.
staged unstaged path
1: unchanged +61/-61 a/very/long/path/that/we/really/dont/want/to/type.txt
* 2: unchanged +1/-1 another/very/long/path/that/we/really/dont/want/to/type.txt
Update>>
Просто нажмите [enter]
здесь.
updated one path
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now> q
Bye.
Наконец, введите 7
или q
, чтобы выйти.
Я не уверен, понимаю ли я ваш вопрос.
Чтобы добавить все файлы (еще не добавленные), используйте:
git add .
Если вам нужно добавить все файлы, кроме одного, вы можете добавить все, а затем удалить файлы, используя:
git reset HEAD <file>
Вы также можете добавить все файлы в подкаталог с помощью
git add subdir/
Одна вещь, которую я знаю, может раздражать, когда вы переименовываете файлы, вам нужно добавить новое имя файла и git rm старое имя. При переименовании каталога это может раздражать. Этот (unix only) git alias решает эту проблему (поместите его в файл ~/.gitconfig:
[alias] ;add after this heading or create this heading if it does not exist
addremove = !git add . && git ls-files --deleted | xargs --no-run-if-empty git rm
Это добавляет все новые файлы и удаляет все удаленные файлы и ставит их в индекс.
Я думаю, вы можете просто сказать "git добавить DSManger.java", если ваше оконное окно в настоящее время находится в соответствующей папке (src_test/com/abc/product/server/datasource/manager/aats). Так просто:
cd src_test/com/abc/product/server/datasource/manager/aats
git add DSManger.java
В противном случае я не могу думать ни о каком другом способе, если вы не сделаете отдельное репо.