Можно ли вытащить с git когда локальный и удаленный изменили одни и те же файлы, но не одинаковые строки - PullRequest
0 голосов
/ 08 января 2020

Если у меня есть файл в git, который я изменил первым, а на удаленном я изменил последнюю строку, например, так:

test.py - локальный

+ import test
import bla
...
...
...

test .py - remote

import bla
...
...
...
+ print(done)

Если я пытаюсь git pull, я получаю сообщение об ошибке, что у меня есть локальные изменения, которые будут удалены, но если я оставлю sh их и применю после их работы отлично.

# option 1:
git pull # error: Your local changes to the following files would be overwritten

# option 2:
git stash
git pull
git stash apply # work great without conflict

Есть ли способ указать git вести себя как вторая опция в одной команде?

1 Ответ

3 голосов
/ 08 января 2020

git pull имеет опцию --autostash, которая сначала сохраняет локальную модификацию и применяет запись sta sh после завершения. Однако это работает только с --rebase или -r. В вашем случае вы можете использовать git pull -r --autostash в одной команде.

По умолчанию используется pull-merge. --rebase обозначает rebase-pull, который применяет локальные невыдвинутые коммиты к FETCH_HEAD. Слияние и перебазировка работают по-разному. Вы можете не хотеть ребаз в некоторых случаях. В любом случае, когда вы считаете целесообразным выполнить rebase-pull, -r --autostash выполняет свою работу.

Вы также можете определить псевдоним или функцию для выполнения этой работы в одной команде.

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