Разница между git push -u и git push -f? [закрыто]

Это происходит, когда вы отменяете выделение с начала координат посередине.

, поэтому вы можете вручную удалить файл index.lock из вашего каталога .git.

rm -f ./.git/index.lock

cd в каталог проекта и запустите эту команду.

-1
задан Ran09 24 March 2019 в 07:00
поделиться

4 ответа

Подтвердите свои изменения с помощью сообщения

git commit -m "Your commit message here"

И затем нажмите на источник (если вы правильно настроили источник и если переходите в основную ветвь.)

git push -u origin master
0
ответ дан AverageJoe 24 March 2019 в 07:00
поделиться

Сообщение об ошибке уже подсказывало вам:

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

Чтобы проиллюстрировать проблему:

Это начинается с этого:

Remote:
             [master]
            /
A <- B <- C

Local:
             [master]
            /
A <- B <- C

Вы сделали некоторые изменения локально, а кто-то еще сделал некоторые изменения в удаленном

Remote:
                       [master]
                      /
A <- B <- C <- D <- E

Local:
                 [master]
                /
A <- B <- C <- X
[ 1115] Представьте себе, если вы перенесете изменения в пульт, как будет выглядеть пульт? Git не угадал бы это для вас, так что вам нужно иметь дело с этим локально, сгладить все, а затем нажать:

Remote:
                       [master]
                      /
A <- B <- C <- D <- E

Local:
                      [origin/master]
                     /
A <- B <- C <- D <- E
           ^    
            \-- X 
                 \
                   [master]

Затем либо слить или перебазировать его:

(В в случае слияния)

                [origin/master]   [master]
                     /            /
A <- B <- C <- D <- E <--------- Y
           ^                   /
            \-- X <-----------/

(в случае перебазировки)

                [origin/master]   [master]
                     /            /
A <- B <- C <- D <- E <--------- X'

В обоих случаях это позволит вам нажать, так как ваша локальная ветвь master является потомком master удаленного , для которого мастер пульта может перемотать вперед.

Если вместо этого вы используете push -f, вы просто заставите пульт дистанционного управления принять [master], в указанном выше случае мастер пульта станет вашим X коммитом, а коммиты D и E будут потерял. Обычно это то, что вам не нужно, особенно это основная ветвь.

0
ответ дан Adrian Shum 24 March 2019 в 07:00
поделиться

git add . не будет фиксировать ваши изменения, он будет только ставить их. Если бы мы предполагали, что ваша локальная ветвь обновлена ​​с пульта дистанционного управления, и вы выполнили:

git add .
git push

Ничего бы не случилось, так как у вас нет новых коммитов, чтобы нажать.

git push -u origin master попытается передать вашу локальную ветвь с именем master на пульт с именем origin. Почти наверняка у origin уже будет ветвь с именем master, поэтому вы фактически пытаетесь заменить ее. Если вы выполнили ту же команду с -f (сила), вы бы заменили ее.

0
ответ дан Adam Nierzad 24 March 2019 в 07:00
поделиться

Следующий шаг - внесение изменений. git add только что добавили их в постановку. Затем вам нужно зафиксировать их, в которых вы запустите git commit -m "Message when committing". Сообщение отобразится в вашем сообщении о коммите. Затем запустите git push, чтобы все ваши изменения были помещены в хранилище.

Пожалуйста, обратитесь к документации git для дальнейшего понимания.

Для добавления их в постановку. https://git-scm.com/docs/git-add

За их принятие https://git-scm.com/docs/git-commit [114 ]

При отправке в репо https://git-scm.com/docs/git-push

0
ответ дан Gabriel Jay 24 March 2019 в 07:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: