Git: Проверете за възможни конфликти преди извършване или натискане към отдалечено хранилище

Идвайки от Subversion, аз съм свикнал с "svn status -u", за да проверя дали ще получа конфликти, преди да се регистрирам в отдалеченото репо.

Може ли да се направи по същия лесен начин с GIT? за предпочитане преди извършване на местно ниво.


person user2733007    schedule 30.08.2013    source източник


Отговори (1)


Ето един начин да го направите. Първо извлечете всички промени от дистанционното:

git fetch <remote>

Сега нека приемем, че сте направили необвързани промени в master и искате да видите какво се е променило в <remote>/master. След това просто използвайте следното:

git diff --name-status master <remote>/master

Това ще покаже списъка с променени файлове, заедно с техния статус.

Сега, ако всъщност сте извършили промени във вашия локален master и искате да видите какво може потенциално да е в конфликт, можете просто да направите сливането локално, за да го изпробвате, след което да го нулирате обратно на мястото, където е било, ако не ви харесва резултати:

git checkout master
git merge <remote>/master

# Don't like the results, reset
git reset --hard head^

Има и други начини да получите тази информация, ще ги добавя по-късно.

person Community    schedule 31.08.2013