web-dev-qa-db-ja.com

「git pull」を使用してファイルが更新されない

他のユーザーと協力するためにGitを使用していますが、「git pull "、および" git log "。

問題は何でしょうか?

16
cao lei

私のために働いたのは、

  1. 削除する .gitフォルダ
  2. コピー.git他のリポジトリから
  3. git checkout

削除する前に、試すことができます

git fetch --all 
git reset --hard Origin/master

ではごきげんよう

16
ganesh

私にとって何がうまくいったか

git reset --hard Origin/master

一部のファイル名が長すぎてgitが私のリポジトリからそれらをプルできないため、不一致と不正確なビルドがあることがわかりました。

それで、私は修正のために実行し、再びハードリセットを行いました。

git config --system core.longpaths true

ありがたいことにそれは働いた。

6
Dish

私の場合、問題は私がindex.lockファイルを.gitフォルダ。私はそれを取り除き、プルは働いた。

6
Alwyn Schoeman

現在のブランチを確認してください。

git status
git branch

ブランチにいない場合は、 detached HEAD mode and git pullは何もマージしません。

git log --all --branches

それ git logは、フェッチされたブランチ(つまり リモート追跡ブランチ )に新しいコミットがあるかどうかを確認するのに役立ちます。
私は git log alias を使用して、これらのコミットをグラフとして表示します。

3
VonC

プルを妨げる未完成のマージがある可能性があります。コミットが進行中かどうかを確認します。

3
Lucas Czekaj

これが発生する可能性がある別のケースを追加したかっただけです。スパースチェックアウトを使用していました。なんらかの理由で、スパースチェックアウトに含まれていると思っていた作業ツリーにディレクトリがあった(.git/info/sparse-checkoutにリストされていると思った)が、そうではなかった(一部の.git/info/sparse-checkoutから削除した)理由は今私が忘れているからです。)pullまたはcheckoutまたはresetまたはその他のコマンドによって無視されていました。スパースチェックアウト構成を新しい新鮮なクローンに複製し始めてエラーが発生するまでは、非常に混乱していました。

これは、スパースチェックアウトを使用している場合にのみ発生します。スパースチェックアウトを使用していない場合は、発生しません。 (git configをチェックしてsparseCheckoutが有効になっているかどうかを確認し、.git/info/sparse-checkoutの存在を確認しますが、ユーザーが手動で設定する必要があると考えているため、これを行っているかどうかはわかります。 )(それが何であるか知りたい場合は、Googleを使用してください-それ以外の場合は追跡/プル/フェッチなどされるチェックアウトからファイルとディレクトリを除外する単純なメカニズムです)

1
Reed Hedges

2つの可能なsceanriosがあります。
1。 Bitbucket、gitlabなどにアカウントがある場合.
最初にforkディレクトリと同期してから、ローカルブランチでgit pullを実行する必要がある場合があります。基本的に、リモートマスターと同期し、ローカルコピーでgit pullを実行するには、フォークコピーをリベースする必要があります。
2。ローカルの作業コピーをリベースして、リモートマスターと同期するようにしてください。

0
Vinod Kumar