リベース中にマージの競合が発生するという、本当に奇妙な問題だと思います。
機能ブランチを開発ブランチでリベースしようとしています:
git checkout myFeatureBranch
git rebase developBranch
git rebase が競合を報告するようになりました。競合を解決するには git mergetool を使用する必要があります。
git mergetool
Git mergetool が競合するファイルmyFile1.h
を宣言し、マージ インターフェイスが開きます (同じリポジトリの Linux または Windows/tortoisegit で問題が発生します)。myOtherFile.c
「私の」ファイルは正しく表示されていますが、「彼らの」ファイルは完全に間違ったファイルですmyFile1.h
。
私は試してみましgit gc --aggressive
たgit fsck --full
。git gc はまったく問題を報告せず、git fsck には多くの未解決の問題がありますが、エラーや欠落した情報はありません。
これは git データベースの何らかの破損ですか? もしそうなら、修復できますか?
何が間違っているかについて他の可能性はありますか?
おそらく、「私の」ファイルをそれ自体にマージして戻すことができると思いました (すべての誤った「彼らの」変更を完全に無視します)。
問題が何であれ、新しいクローンが同じリベースの問題を示すため、マスター リモート リポジトリにあるように見えます。
ご協力いただきありがとうございます。
git config -l
いくつかのリダクションを含む出力:
core.symlinks=false
core.autocrlf=input
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
core.autocrlf=true
core.excludesfile=<global exclude file>
user.name=Russell
user.email=<email address>
push.default=simple
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
remote.origin.url=<gituser@gitserver>
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.puttykeyfile=<key.ppk>
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.develop.remote=origin
branch.develop.merge=refs/heads/develop
branch.myFeatureBranch.remote=origin
branch.myFeatureBranch.merge=refs/heads/myFeatureBranch