Как добавить несколько файлов в Git одновременно


это будет мое первое использование git. Я добавил новые файлы ( много ) в папку/проект (локальный репозиторий git).

Я прошел через онлайн-уроки и форумы и посмотреть, что я могу сделать

     git commit -a

поэтому я иду в базовую папку репозитория и делаю

    sudo git commit -a

но затем, некоторые экраны приходит и просит меня Добавить комментарий, который я делаю. я не знаю, как продолжить или выйти. Я не хочу испортить, поэтому я сделал ctrl + Z и не делал что угодно.

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

git commit -a 

и

git push?
8 75

8 ответов:

добавить все изменения, которые вы внесли:

git add .

чтобы делать:

git commit -m "MY MESSAGE HERE" # - m-это флаг сообщения

вы можете собрать эти шаги, как это:

git commit -a -m "MY MESSAGE HERE"

чтобы переместить зафиксированные изменения из локального репозитория в удаленный репозиторий:

git push origin master

возможно, вам придется ввести свое имя пользователя/пароль для github после этого. вот!--22--> хороший грунтовка по использованию git. Немного старый, но он охватывает то, что происходит на самом деле хорошо.

использовать

вы также можете выбрать несколько файлов, как это

git add folder/subfolder/*

добавить все файлы в указанной папке. Очень полезно, когда вы редактировать кучу файлов, но вы просто хотите зафиксировать некоторые из них...

как некоторые уже упоминали, возможным способом является использование git interactive staging. Это здорово, когда у вас есть файлы с разными расширениями

$ 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>>

мы также можно использовать это для unstage файлов, если мы наберем -number, так что если бы мы хотели unstage файл номер 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>>

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

Если вы хотите добавить несколько файлов в определенной папке, вы можете разделить их с помощью {,}. Это потрясающе для того, чтобы не повторять длинные пути, например

git add long/path/{file1,file2,...,filen}

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

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

git add <file>

или если вы хотите поставить все

git add .

делая это, вы говорите git, какие файлы вы хотите в следующем коммите. Вы тут:

git commit -m 'your message here'

вы используете

git push origin master

где origin-это ветвь удаленного репозитория, а master-ваша локальная ветвь репозитория.

похоже, что git запускает ваш редактор (вероятно,vi), Так что вы можете ввести сообщение коммита. Если вы не знакомы с vi, Это обучение. Альтернативы:

  • использовать git commit -a -m "my first commit message", чтобы указать комментарий к коммиту в командной строке (с помощью этого не запустится редактор)

  • установить EDITOR переменная окружения для редактора, с которым вы знакомы

Если вы хотите разместить и зафиксировать все ваши файлы на Github, сделайте следующее;

git add -A
git commit -m "commit message"
git push origin master