Lamda
Lamda

Reputation: 944

Git: Your branch and 'origin/master' have diverged - after updating forked repo

I seem to have some problems with my gitlab repo..

I forked the kaldi repo a while ago (I think a year ago).. And wanted to update me repo with the current version of the the kaldi repo.

I ended up following this guide

I think I pulled the newest version?.. but now I have problems pushing/pulling to my local repo..

~/kaldi-trunk$ git pull
X11 forwarding request failed on channel 0
error: The following untracked working tree files would be overwritten by merge:
    egs/deltas/s5/data/lang/G.fst
    egs/deltas/s5/data/lang/L.fst
    egs/deltas/s5/data/lang/L_disambig.fst
    egs/deltas/s5/data/lang/oov.int
    egs/deltas/s5/data/lang/oov.txt
    egs/deltas/s5/data/lang/phones.txt
    egs/deltas/s5/data/lang/phones/align_lexicon.int
    egs/deltas/s5/data/lang/phones/align_lexicon.txt
    egs/deltas/s5/data/lang/phones/context_indep.csl
    egs/deltas/s5/data/lang/phones/context_indep.int
    egs/deltas/s5/data/lang/phones/context_indep.txt
    egs/deltas/s5/data/lang/phones/disambig.csl
    egs/deltas/s5/data/lang/phones/disambig.int
    egs/deltas/s5/data/lang/phones/disambig.txt
    egs/deltas/s5/data/lang/phones/extra_questions.int
    egs/deltas/s5/data/lang/phones/extra_questions.txt
    egs/deltas/s5/data/lang/phones/nonsilence.csl
    egs/deltas/s5/data/lang/phones/nonsilence.int
    egs/deltas/s5/data/lang/phones/nonsilence.txt
    egs/deltas/s5/data/lang/phones/optional_silence.csl
    egs/deltas/s5/data/lang/phones/optional_silence.int
    egs/deltas/s5/data/lang/phones/optional_silence.txt
    egs/deltas/s5/data/lang/phones/roots.int
    egs/deltas/s5/data/lang/phones/roots.txt
    egs/deltas/s5/data/lang/phones/sets.int
    egs/deltas/s5/data/lang/phones/sets.txt
    egs/deltas/s5/data/lang/phones/silence.csl
    egs/deltas/s5/data/lang/phones/silence.int
    egs/deltas/s5/data/lang/phones/silence.txt
    egs/deltas/s5/data/lang/phones/wdisambig.txt
    egs/deltas/s5/data/lang/phones/wdisambig_phones.int
    egs/deltas/s5/data/lang/phones/wdisambig_words.int
    egs/deltas/s5/data/lang/phones/word_boundary.int
    egs/deltas/s5/data/lang/phones/word_boundary.txt
    egs/deltas/s5/data/lang/tmp/CLG_1_0.fst
    egs/deltas/s5/data/lang/tmp/CLG_3_1.fst
    egs/deltas/s5/data/lang/tmp/LG.fst
    egs/deltas/s5/data/lang/tmp/disambig_ilabels_1_0.int
    egs/deltas/s5/data/lang/tmp/disambig_ilabels_3_1.int
    egs/deltas/s5/data/lang/tmp/ilabels_1_0
    egs/deltas/s5/data/lang/tmp/ilabels_3_1
    egs/deltas/s5/data/lang/topo
    egs/deltas/s5/data/lang/words.txt
    egs/deltas/s5/data/local/corpus.txt
    egs/deltas/s5/data/local/lang/align_lexicon.txt
    egs/deltas/s5/data/local/lang/lex_ndisambig
    egs/deltas/s5/data/local/lang/lexicon.txt
    egs/deltas/s5/data/local/lang/lexiconp.txt
    egs/deltas/s5/data/local/lang/lexiconp_disambig.txt
    egs/deltas/s5/data/local/lang/nonsilence_phones.txt
    egs/deltas/s5/data/local/lang/optional_silence.txt
    egs/deltas/s5/data/local/lang/phone_map.txt
    egs/deltas/s5/data/local/lang/silence_phones.txt
    egs/deltas/s5/data/local/tmp/lm.arpa
    egs/deltas/s5/data/local/tmp/vocab-full.txt
    egs/deltas/s5/data/local/words.txt
    egs/deltas/s5/data/test/.backup/cmvn.scp
    egs/deltas/s5/data/test/.backup/feats.scp
    egs/deltas/s5/data/test/.backup/spk2utt
    egs/deltas/s5/data/test/.backup/text
    egs/deltas/s5/data/test/.backup/utt2spk
    egs/deltas/s5/data/test/.backup/wav.scp
    egs/deltas/s5/data/test/cmvn.scp
    egs/deltas/s5/data/test/data/cmvn_test.ark
    egs/deltas/s5/data/test/data/cmvn_test.scp
    egs/deltas/s5/data/test/fbbh/an86-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/an87-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/an88-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/an89-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/an90-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/cen1-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/cen2-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/cen3-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/cen4-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/cen5-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/cen6-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/cen7-fbbh-b.sph
    egs/deltas/s5/data/test/fbbh/cen8-fbbh-b.sph
    egs/deltas/s5/data/test/feats.scp
    egs/deltas/s5/data/test/ffmm/an291-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/an292-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/an293-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/an294-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/an295-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/cen1-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/cen2-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/cen3-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/cen4-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/cen5-ffmm-b.sph
    egs/deltas/s5/data/test/ffmm/cen6-ffmm-b.sph
    egs
Aborting

which is local changes I haven't push, which I wouldn't have to do has my .gitignore should ignore them ..

# Compiled extensionless executable files in /src/*/
# This stanza must precede wildcard patterns below!
/src/*/*
!/src/*/*.*
!/src/doc/*
!/src/*/Makefile
!/src/*/README

# Compiled Object files and python ciles
*.slo
*.lo
*.o
*.obj
*.pyc

# profiling files and core files
*.nvprof
core

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Test log files
*.testlog

# emacs saves
[#]*[#]
.[#]*
*~

# [ecg]tag files
TAGS
tags
GTAGS
GRTAGS
GPATH
GSYMS

# python compiled sources
*.pyc

# Make dependencies
.depend.mk

# some weird thing that MacOs creates.
*.dSYM

# Windows executable, symbol and some weird files.
*.exe
*.pdb
*.exp
*.manifest

# /src/
/src/.short_version
/src/base/version.h
/src/doc/table/
/src/doc/tools.dox
/src/doc/*.html
/src/htdocs/
/src/html.tar.gz
/src/kaldi.mk
/src/kaldi.mk.tmp
/src/kaldi.mk.bak

# /egs/
/egs/*/s*/mfcc
/egs/*/s*/plp
/egs/*/s*/exp
/egs/*/s*/data

# /tools/
/tools/ATLAS/
/tools/atlas3.8.3.tar.gz
/tools/irstlm/
/tools/openfst
/tools/openfst-1.3.2.tar.gz
/tools/openfst-1.3.2/
/tools/openfst-1.3.4.tar.gz
/tools/openfst-1.3.4/
/tools/openfst-1.4.1.tar.gz
/tools/openfst-1.4.1/
/tools/openfst-1.5.4.tar.gz
/tools/openfst-1.5.4/
/tools/openfst-1.6.0.tar.gz
/tools/openfst-1.6.0/
/tools/openfst-1.6.1.tar.gz
/tools/openfst-1.6.1/
/tools/openfst-1.6.2.tar.gz
/tools/openfst-1.6.2/
/tools/pa_stable_v19_20111121.tgz
/tools/portaudio/
/tools/sctk-2.4.0-20091110-0958.tar.bz2
/tools/sctk-2.4.0/
/tools/sctk-2.4.10-20151007-1312Z.tar.bz2
/tools/sctk-2.4.10/
/tools/sph2pipe_v2.5.tar.gz
/tools/sph2pipe_v2.5/
/tools/kaldi_lm.tar.gz
/tools/sctk-2.4.8-20130429-2145.tar.bz2
/tools/sctk-2.4.9-20141015-1634Z.tar.bz2
/tools/sctk-2.4.9/
/tools/OpenBLAS
/tools/sctk
/tools/sctk-2.4.8
/tools/srilm
/tools/CLAPACK_include
/tools/kaldi_lm
/tools/env.sh
/tools/g2p-r1668.tar.gz
/tools/mpg123
/tools/mpg123-1.21.0.tar.bz2
/tools/mpg123-1.21.0
/tools/pthreads
/tools/pthreads*.zip
/tools/sequitur
/tools/sequitur-g2p
/tools/srilm.tgz
/tools/liblbfgs-1.10.tar.gz
/tools/liblbfgs-1.10/
/tools/openfst-1.5.0.tar.gz
/tools/openfst-1.5.0/
/tools/srilm-1.7.2-beta.tar.gz
/tools/liblbfgs/
/tools/sequitur-g2p/
/tools/phonetisaurus-g2p
/tools/phonetisaurus-g2p/
/kaldiwin_vs*

But okay... Trying to add them anyway gives me this error message:

git add egs/deltas/*
~/kaldi-trunk$ git commit -m "deltas"
On branch master
Your branch and 'origin/master' have diverged,
and have 7555 and 30 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean

So.. I seem to be stuck.. I am not sure I understand what they mean that I have different commits?

~/kaldi-trunk$ git remote -v
origin  (My local repo) (fetch)
origin  (My local repo) (push)
upstream    [email protected]:kaldi-asr/kaldi.git (fetch)
upstream    [email protected]:kaldi-asr/kaldi.git (push)

Upvotes: 2

Views: 1360

Answers (2)

code_fodder
code_fodder

Reputation: 16321

If these untracked files are not needed then you can clean your repo before doing the merge with git clean. If you are not sure what files this will remove you can dry run the command with '-n'.

The full command you may want is:

git clean -fdx

Where f - force, d - directories, x - ignored files, or to dry-run:

git clean -fdxn

Once you have done this then you should be clear to merge as normal.

The part about different commits just means that you have 7555 commits on your branch that are not on the master and 30 commits on the master that are not on your branch. This is completely normal for two branches that have diverged (its just saying that both sides have commits that the other does not)

Upvotes: 0

leona
leona

Reputation: 433

Please make a git merge origin/master, git rebase origin/master or agit pull --rebase to merge you local repo with the orgin/master repo.

Upvotes: 1

Related Questions