Git-тегі «git pull-dry-run» опциясы бар ма?

Менің жұмыс ағашымды алмас бұрын, заттар қалай біріктірілетінін көру үшін git pull -dry-run сияқты нәрсе бар ма?

Қазір мен:

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

Адамға арналған 'go-pull' үшін ештеңе көрген жоқпын.

Түсіндіру үшін go pull жасаған кезде қақтығыстардың бар-жоғын білу үшін оны орналастыру үшін анттың сценарийіне ғана мұқтаж боламын, содан кейін құрылғыны өшіруді тоқтатып, орналастыруды тоқтатпаңыз және сол каталогтың ағашын сол қалдырыңыз go pull дейін.

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
қосылды
fatal: бірегей дәлел 'HEAD..origin/branch': белгісіз түзету немесе жұмыс ағашында жол жоқ.
қосылды автор Green, көзі
Сіз сондай-ақ оны көре аласыз, себебі тартылу бірдей біріктіруге ұқсас http://stackoverflow.com/questions/501407/is-there-a-git-mer‌ құрғақ құрғақ-опция
қосылды автор scireon, көзі

Алдымен сіздің жергілікті тегіңізді/мастеріңізді жаңартыңыз

git fetch origin

Сонда сіз:

git diff --name-only origin/master

Өзгертілген файлдарды тізімдейді.

git diff origin/master directory_foo/file_bar.m

Line_foo/file_bar.m файлының дифференциалды жолымен желіні тізімдейді.

24
қосылды
Ұшы үшін - атаумен ғана жалаушаға рақмет
қосылды автор cw24, көзі

Қажетті нәтижені сіз ағымдағы жолдан жаңа босату бөлімін жасап, go pull арқылы орындаңыз. Нәтижелерге риза болмасаңыз, бастапқы тармақ өзгеріссіз қалады.

15
қосылды
go stash дегенді білдіресіз бе?
қосылды автор 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
қосылды
Неге төмендету? Мен git diff this-answer/top-answer жасадым және елеулі қате табылмады. go-commit -m «Сіз неге бас тартасыз, blah blah blah» .
қосылды автор WesternGun, көзі

Себебі сценарийлер біріктіруді білдіретіндіктен, сіздің скриптіңізде қақтығыстар мен біріктіру сәтсіз болғанын анықтаса, go merge --abort жұмыс істей бастаймын.

2
қосылды
Егер сіз мұны қашықтағы филиалға қарсы болсаңыз (алдымен go алдымен шыққан болса) go - merge - origin/branch дұрыс болар еді?
қосылды автор Nick Devereaux, көзі

Осыған ұқсас сұраққа жауапты қараңыз:

Жіберуді жасамай, go-pull-ды қалай алдын-ала қарауға болады?

бұл ~/.gitconfig файлына өтеді:

[alias]
        diffpull=!git fetch && git diff origin/`git rev-parse --abbrev-ref HEAD`..HEAD
0
қосылды

Осыған ұқсас сұраққа жауапты қараңыз:

Жіберуді жасамай, go-pull-ды қалай алдын-ала қарауға болады?

бұл ~/.gitconfig файлына өтеді:

[alias]
        diffpull=!git fetch && git diff origin/`git rev-parse --abbrev-ref HEAD`..HEAD
0
қосылды