他のユーザーと協力するためにGitを使用していますが、「git pull
"、および" git log
"。
問題は何でしょうか?
私のために働いたのは、
.git
フォルダ.git
他のリポジトリからgit checkout
削除する前に、試すことができます
git fetch --all
git reset --hard Origin/master
ではごきげんよう
私にとって何がうまくいったか
git reset --hard Origin/master
一部のファイル名が長すぎてgitが私のリポジトリからそれらをプルできないため、不一致と不正確なビルドがあることがわかりました。
それで、私は修正のために実行し、再びハードリセットを行いました。
git config --system core.longpaths true
ありがたいことにそれは働いた。
私の場合、問題は私がindex.lock
ファイルを.git
フォルダ。私はそれを取り除き、プルは働いた。
現在のブランチを確認してください。
git status
git branch
ブランチにいない場合は、 detached HEAD mode and git pull
は何もマージしません。
git log --all --branches
それ git log
は、フェッチされたブランチ(つまり リモート追跡ブランチ )に新しいコミットがあるかどうかを確認するのに役立ちます。
私は git log alias を使用して、これらのコミットをグラフとして表示します。
プルを妨げる未完成のマージがある可能性があります。コミットが進行中かどうかを確認します。
これが発生する可能性がある別のケースを追加したかっただけです。スパースチェックアウトを使用していました。なんらかの理由で、スパースチェックアウトに含まれていると思っていた作業ツリーにディレクトリがあった(.git/info/sparse-checkout
にリストされていると思った)が、そうではなかった(一部の.git/info/sparse-checkout
から削除した)理由は今私が忘れているからです。)pull
またはcheckout
またはreset
またはその他のコマンドによって無視されていました。スパースチェックアウト構成を新しい新鮮なクローンに複製し始めてエラーが発生するまでは、非常に混乱していました。
これは、スパースチェックアウトを使用している場合にのみ発生します。スパースチェックアウトを使用していない場合は、発生しません。 (git configをチェックしてsparseCheckoutが有効になっているかどうかを確認し、.git/info/sparse-checkoutの存在を確認しますが、ユーザーが手動で設定する必要があると考えているため、これを行っているかどうかはわかります。 )(それが何であるか知りたい場合は、Googleを使用してください-それ以外の場合は追跡/プル/フェッチなどされるチェックアウトからファイルとディレクトリを除外する単純なメカニズムです)
2つの可能なsceanriosがあります。
1。 Bitbucket、gitlabなどにアカウントがある場合.
最初にforkディレクトリと同期してから、ローカルブランチでgit pullを実行する必要がある場合があります。基本的に、リモートマスターと同期し、ローカルコピーでgit pullを実行するには、フォークコピーをリベースする必要があります。
2。ローカルの作業コピーをリベースして、リモートマスターと同期するようにしてください。