git pull --rebase вообще не допускает изменения файлов, в отличие от git pull --no-rebase - PullRequest
0 голосов
/ 02 ноября 2018

Пожалуйста, соблюдайте:

C:\xyz\55 [release/r-855 ↓1 +0 ~16 -0 !]> git pull --rebase
error: cannot pull with rebase: You have unstaged changes.
error: please commit or stash them.
C:\xyz\55 [release/r-855 ↓1 +0 ~16 -0 !]> git pull --no-rebase
From http://server.xyz.com:8080/tfs/defaultcollection/code/_git/xyz
 * [new branch]          wfm/tfs485759 -> origin/wfm/tfs485759
Updating 5f010c356..871eb9ca2
Fast-forward
 .../PayrollService/DAL/Payroll/PayRunDataProviderDAL.cs            | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
C:\xyz\55 [release/r-855 ≡ +0 ~16 -0 !]>

Мой вывод таков: git pull --rebase вообще не переносит никаких измененных файлов. Это не похоже на git pull --no-rebase, что нормально, если ни один из измененных файлов не конфликтует с новыми коммитами.

Это вроде отстой.

Мой вывод верен? Или git pull --rebase можно настроить так, чтобы он вел себя больше как --no-rebase, когда дело доходит до измененных файлов?

1 Ответ

0 голосов
/ 02 ноября 2018

git rebase, в отличие от git merge (что выполняется обычным извлечением) требует чистого рабочего дерева.
(git merge требует только, чтобы объединенные файлы в настоящее время не изменялись)

Чтобы автоматически получить это чистое рабочее дерево, используйте git config --global rebase.autostash true.
Таким образом, ваш git pull --rebase будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...