ГИТ: добавить против пуш против совершить



В чем разница между git add,push и commit?



просто немного запутался, исходя из SVN, где " обновление "будет" добавлять "материал, а фиксация делает "толчок" и будет "добавлять" также



есть все различные функции в git. Надеясь на какое-то объяснение из вашего опыта.

724   6  

6 ответов:

  1. git add добавляет измененные файлы в очередь будет совершено позднее. Файлы не фиксируются
  2. git commit фиксирует добавленные файлы и создает новую редакцию с журналом... Если вы не добавите никаких файлов, git ничего не совершит. Вы можете комбинировать оба действия с git commit -a

  3. git push переносит изменения в удаленный репозиторий.

эта цифра из это ГИТ шпаргалка дает хорошее представление о работе потока

enter image description here

git add не на рисунке, потому что предлагаемый способ фиксации является комбинированным git commit -a, но вы можете мысленно добавить git add к блоку изменения, чтобы понять поток.

наконец, причина, почему push отдельная команда из-за git'ы философии. git - это распределенная система управления версиями и ваш локальный рабочий каталог и ваше хранилище! Все изменения, которые вы совершаете, мгновенно отражаются и записываются. push используется только для обновления удаленного РЕПО (который вы можете поделиться с другими), когда вы закончите с тем, что вы работаете. Это аккуратный способ работать и сохранить изменения локально (без сети) и обновлять ее только тогда, когда вы хотите, а не на каждый коммит. Это косвенно приводит к более легким коммитам / ветвлению и т. д. (Почему бы и нет? чего это тебе стоит?) приводящий чтобы больше сохранять очки, не возясь с репозиторием.

git add выбирает изменений

git commit изменения записей локально

git push изменения доли

  • git add добавляет файлы в индекс Git, который является промежуточной областью для объектов, подготовленных к отправке.
  • git commit фиксирует файлы в индексе в репозиторий,git commit -a это ярлык для добавления всех измененных отслеживаемых файлов в индекс в первую очередь.
  • git push отправляет все ожидающие изменения в удаленный репозиторий, к которому привязана ваша ветвь (например. на GitHub).

для того, чтобы понять Git вам нужно будет инвестировать больше усилий чем просто просматривая документацию, но это определенно стоит того. Просто не пытайтесь напрямую сопоставлять команды Git с Subversion, так как большинство из них не имеют прямого аналога.

Я был смущен тем, что "добавить" действительно делает. Я только что прочитал очень поучительный абзац из книги Git Pro, который я хотел бы добавить здесь, потому что он проясняет вещи

" оказывается, что Git запускает файл точно так же, как и при запуске команды git add. Если вы совершаете сейчас, то версия бенчмарков.rb, как это было, когда вы в последний раз запускали команду git add, - это то, как она будет входить в фиксацию, а не версия файла, как она выглядит в вашем рабочем каталоге при запуске git совершать. Если вы изменяете файл после запуска git add, вам нужно снова запустить git add, чтобы установить последнюю версию файла:"

Отрывок Из: Чакон, Скотт. - Про ГИТа."Springer, 2009-08-19T00:00:00+00: 00. iBooks. Этот материал может быть защищен авторским правом.

очень приятно pdf о многих секретах GIT.

добавить это же, как добавить svn (как когда-либо иногда он используется, чтобы отметить файл разрешен).

Commit также совпадает с svn, но он фиксирует изменения в вашем локальном репозитории.

добавить говорит git, чтобы начать отслеживать файл.

commit фиксирует текущие изменения в локальном репозитории

push толкает вас локальное РЕПО вверх по течению.

Comments

    Ничего не найдено.