Come risolvere i problemi in Git Rebase Interattive

0

Domanda

Sto cercando di rebase mio ramo locale contro il branch master. Dal mio local_branch, ho eseguito il seguente comando per rebase. Ho praticato utilizzando l'utilità della riga di comando (io.e Git Bash) per un po di tempo e vorrei utilizzare la stessa per risolvere il problema attuale.

Posso usare Visual Studio Codice strumento per accettare corrente / in arrivo / modifiche.. Ma c'è un modo per eseguire la stessa operazione utilizzando Git Bash? Anche per il seguente scenario, quale sarebbe il modo migliore per risolvere?

> git pull --rebase origin master
> git status                                                                                                                                             
interactive rebase in progress; onto 53681c8
Last commands done (2 commands done):
   pick 89bb0987 Updated messenger.xml
   pick 990bn189 Updated messenger.xml
Next commands to do (9 remaining commands):
   pick 6780f98 Updated messenger.xml
   pick 9091m969 Updated updated_numbers.xml
  (use "git rebase --edit-todo" to view and edit)
You are currently rebasing branch 'feature-jd-bulk-messenger' on '53681c8'.
  (fix conflicts and then run "git rebase --continue")
  (use "git rebase --skip" to skip this patch)
  (use "git rebase --abort" to check out the original branch)

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
        both modified:   jd-test/admin/messenger.xml
git
2021-11-24 05:14:19
1

Migliore risposta

0

Questo è solo un normale conflitto di unione, i cambiamenti nella vostra filiale locale di circa o sovrapposizione cambiamenti nella linea principale della storia, ed è necessario decidere che cosa il risultato dovrebbe essere simile, perché Git, giustamente, non osa immaginare.

c'è un modo per eseguire la stessa operazione utilizzando Git Bash?

Sì, a decidere cosa jd-test/admin/messenger.xml dovrebbe essere simile, aggiungere che, e git rebase --continue, a seconda di quale strumento per la fusione si come dovrebbe essere in grado di automatizzare la modifica/scegli/fase di sequenziamento per voi. Io uso vimdiff che gestisce questo con aplomb, non VS Codice, l'integrazione con Git non capire cosa sta succedendo qui?

Per un esempio,

git init `mktemp -d`; cd $_
seq 5 >file; git add .; git commit -m-
git branch -t mine
sed 2s,$,a, -i file; git commit -am2
git checkout mine
sed 3s,$,a, -i file; git commit -am3
git rebase

e si otterrà un conflitto in filedove il risultato è quello di prendere entrambe le linee cambiate così com'è, ma Git non può essere certo di farlo per voi. git status qui viene visualizzato un messaggio familiare, mi può dare un senso di esso pensando che il rebase è ora, infatti, di una interattive, è in attesa su di me, è interagire con me. Mi piacerebbe fare git mergetool qui.

Se avete intenzione di fare un sacco di questo, si potrebbe desiderare di consentire rerere, riuso di recon li resoluzioni: git config rerere.enabled true; git rerere prima di aggiungere la risoluzione di questo primo tempo, dopo che Git verrà eseguito per voi, in esecuzione si rende Git vi ricordate nuovi conflitti e risoluzioni dell'indice in caso di nuovo nelle successive rebases.

2021-11-24 06:46:20

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................