Подтвердить что ты не робот

Как избежать указания абсолютного пути файла в git -add

Использование команды git add становится утомительным, когда путь к файлу становится длинным. Напр. git add src_test/com/abc/product/server/datasource/manager/aats/DSManger.java
Можно ли обойти указание абсолютного пути к файлу? Может быть, используется какой-то образец или что-то еще?

Я знаю, что мы можем использовать git gui. Но я хочу сделать это с помощью строки cmd.

Заранее благодарим за входные данные.

4b9b3361

Ответ 1

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

 git add *DSManager.java

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

Ответ 2

С помощью bash вы можете установить "globstar" (shopt -s globstar), а затем выполните:

git add **/DSManger.java

чтобы добавить все файлы под именем DSManager.java, находящиеся ниже текущего каталога.

(**/ соответствует всем каталогам и подкаталогам.)

Ответ 3

Вот еще один способ добавить файлы. Поддерживается, по крайней мере, в 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, чтобы выйти.

Ответ 4

Я не уверен, понимаю ли я ваш вопрос.

Чтобы добавить все файлы (еще не добавленные), используйте:

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

Это добавляет все новые файлы и удаляет все удаленные файлы и ставит их в индекс.

Ответ 5

Я думаю, вы можете просто сказать "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

В противном случае я не могу думать ни о каком другом способе, если вы не сделаете отдельное репо.