Ёсць варыянт «мярзотнік цягнуць --dry-бег» у Git?

Ці ёсць такая рэч, як мярзотнік цягнуць --dry перспектывы , каб убачыць, як рэчы будуць аб'яднаныя, перш чым ён блытае маё працоўнае дрэва?

Зараз я раблю:

git fetch origin && git merge --no-commit --no-ff

Я нічога не бачыў на старонцы чалавека для «гнюса-цягнуць», звязаныя з ім.

Каб удакладніць, мне проста трэба гэта ў Ant скрыпт для разгортвання, каб убачыць, калі ўзнікаюць канфлікты пры выкананні мярзотнік цягнуць , затым адступіць выхаду з зборкі, не ў стане разгортвання і пакінуць гэтае дрэва каталогаў, тое ж самае было перад мярзотнік цягнуць .

55
Чаму б там канфлікты? Ці з'яўляецца ваш сцэнар разгортвання рашэнняў камітаў і калі так, то чаму?
дададзена аўтар CB Bailey, крыніца

7 адказы

Я заўсёды абапіраўся на уласцівыя здольнасці Git, каб атрымаць мяне назад, калі зліццё не ўдаецца.

Для таго, каб ацаніць, як можа адбыцца зліццё, вы можаце пачаць, як вы зрабілі з:

$ git fetch origin branch  # Fetch changes, but don't merge
$ git diff HEAD..origin/branch # Diff your current head to the fetched commit

... personal judgement of potential merge conflicts ...

$ git merge origin/branch # merge with the fetched commit

Калі нешта не так, як планавалася, паглядзіце на свой reflog і скінуць назад у жаданае стан:

$ git reflog
...
abc987  [email protected]{0}: merge activity
b58aae8 [email protected]{1}: fetch origin/branch
8f3a362 [email protected]{2}: activity before the fetch
...
$ git reset --hard HEAD{2}
43
дададзена
<�Код> фатальны: неадназначны аргумент «HEAD..origin/галіну»: невядомы перагляд або шлях не ў працоўным дрэве .
дададзена аўтар Green, крыніца
Вы таксама можаце паспрабаваць гэта так цягне неяк падобна на зліццё HTTP://stackoverflow.com/questions/501407/is-there-a-git-mer‌ GE-усухую-варыянт
дададзена аўтар scireon, крыніца

Вам трэба будзе прынесці першым, каб абнавіць мясцовага паходжання/майстар

git fetch origin

Тады вы можаце зрабіць:

git diff --name-only origin/master

Ці будзе спіс файлаў, якія былі змененыя.

git diff origin/master directory_foo/file_bar.m

Пералічоны лінію па лініі дифф з файла directory_foo/file_bar.m.

24
дададзена
Дзякуй за параду са сцягам --name толькі
дададзена аўтар cw24, крыніца

Вы можаце атрымаць эфект, які вы хочаце, ствараючы новы аднаразовы галіна ад бягучай і рабіць GIT цягнуць там. Калі вы незадаволеныя вынікамі, арыгінальная галіна цэлая.

15
дададзена
вы маеце на ўвазе GIT прытон ?
дададзена аўтар WesternGun, крыніца
Не, мярзотнік схованку зусім інакш. Гэта ставіць свае лакальныя змены ў іншым месцы.
дададзена аўтар RichieHH, крыніца
# fetch new commits from origin
$ git fetch

# check what are the differences and judge if safe to apply
$ git diff origin/master

# actually merge the fetched commits 
$ git pull
3
дададзена
Чаму downvote? Я зрабіў гнюса дифф гэта-адказ/топ-адказ і не выяўлена ніякіх істотных памылак. Калі ласка, звярніце ўвагу, пакінуўшы каментар, калі вы здзяйсняеце downvote: мярзотнік здзейсніць -м «чаму б вам downvote, бла-бла-бла» .
дададзена аўтар WesternGun, крыніца

Так як выцягваць мае на ўвазе зліццё, я б з запускам мярзотнік зліцця --abort калі ваш скрыпт выявіць якія-небудзь канфлікты і зліццё не ўдалося.

2
дададзена
Калі вы робіце гэта на выдаленай галіны (Ідучы мярзотнік выбаркі паходжання філіял першы) гэта будзе мярзотнік злівацца --abort паходжання/філіял правільна?
дададзена аўтар Nick Devereaux, крыніца