Как добавить несколько файлов в Git одновременно
Это будет мое первое использование git. Я добавил новые файлы (много) в папку/проект (git локальный репозиторий).
Я прошел онлайн-учебники и форумы и увидел, что могу делать
git commit -a
Итак, я перехожу в базовую папку репозитория и делаю
sudo git commit -a
Но затем появятся некоторые экраны и попросит добавить комментарий, который я делаю. Я не знаю, как продолжить. Я не хочу испортить, поэтому я сделал ctrl + Z и ничего не делал.
Можете ли вы, ребята, описать команды, которые мне нужно использовать?
git commit -a
и
git push?
Ответы
Ответ 1
Чтобы добавить все сделанные вами изменения:
git add .
Чтобы зафиксировать их:
git commit -m "MY MESSAGE HERE"
# -m - это флаг сообщения
Вы можете соединить эти шаги следующим образом:
git commit -a -m "MY MESSAGE HERE"
Чтобы скопировать исправленные изменения из локального репозитория в удаленный репозиторий:
git push origin master
После этого вам, возможно, придется ввести свое имя пользователя/пароль для github. Вот хороший пример использования git. Немного устарел, но он охватывает то, что происходит очень хорошо.
Ответ 2
Используйте команду git add
, за которой следует список имен файлов, разделенных пробелами, например,
git add <file-name-1> <file-name-2> <file-name-3>
Ответ 3
Вы также можете выбрать несколько файлов, таких как
git add folder/subfolder/*
Это добавит все файлы в указанную подпапку. Очень полезно, когда вы редактируете кучу файлов, но вы просто хотите зафиксировать некоторые из них...
Ответ 4
Как уже упоминалось, возможный способ заключается в использовании git интерактивной постановки.
Это замечательно, когда у вас есть файлы с разными расширениями
$ git add -i
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
Если вы нажмете 2
, затем enter
, вы получите список доступных файлов, которые нужно добавить:
What now> 2
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
Теперь вам просто нужно вставить количество файлов, которые вы хотите добавить, поэтому, если бы мы хотели добавить TODO
и index.html
, мы бы набрали 1,2
Update>> 1,2
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
Вы видите *
перед номером? это означает, что файл был добавлен.
Теперь представьте, что у вас есть 7 файлов, и вы хотите добавить их все, кроме 7-го? Конечно, мы могли бы набрать 1,2,3,4,5,6
, но представьте, вместо 7 у нас будет 16, это было бы довольно громоздким, нам не нужно вводить их все, потому что мы можем использовать диапазоны, набрав 1-6
Update>> 1-6
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
* 4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
Мы можем даже использовать несколько диапазонов, поэтому, если мы хотим от 1 до 3 и от 5 до 7, напечатаем 1-3, 5-7
:
Update>> 1-3, 5-7
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
Мы также можем использовать это для нестационарных файлов, если мы наберем -number
, поэтому, если бы мы хотели, чтобы файл без номера был 1, мы набрали -1
:
Update>> -1
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
И, как вы можете себе представить, мы можем также отключить ряд файлов, поэтому, если мы наберем -range
, все файлы в этом диапазоне будут нестационарными. Если бы мы хотели отключить все файлы от 5 до 7, мы бы набрали -5-7
:
Update>> -5-7
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
5: unchanged +5/-1 file5.html
6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
Ответ 5
Если вы хотите добавить несколько файлов в данную папку, вы можете разделить их с помощью {,}
. Это потрясающе для того, чтобы не повторять длинные пути, например.
git add long/path/{file1,file2,...,filen}
Не ставьте пробелы между ,
.
Ответ 6
Когда вы меняете файлы или добавляете новые в репозиторий, вы должны сначала их создать.
git add <file>
или если вы хотите выполнить все
git add .
Выполняя это, вы сообщаете git, какие файлы вы хотите в следующем коммите. Затем выполните следующие действия:
git commit -m 'your message here'
Вы используете
git push origin master
где origin - ветвь удаленного репозитория, а master - это ваша локальная ветвь репозитория.
Ответ 7
Похоже, что git запускает ваш редактор (возможно, vi
), чтобы вы могли ввести сообщение фиксации. Если вы не знакомы с vi
, легко освоить основы. Альтернативы:
-
Используйте git commit -a -m "my first commit message"
, чтобы указать сообщение фиксации в командной строке (при этом не запускается редактор)
-
Установите переменную среды EDITOR
в редактор, который вам знаком с
Ответ 8
Если вы хотите разместить и зафиксировать все свои файлы на Github, сделайте следующее:
git add -A
git commit -m "commit message"
git push origin master