4

私は git で深刻な問題を抱えており、オンラインで解決策を見つけることができませんでした。初心者なので何か間違っているかもしれませんが…

Github でホストされているリポジトリがあり、チームの誰かが新しいコミットをプッシュしました。Windows で Git GUI を使用して、Github から新しいコミットを取得しようとしました。Git によると、フェッチは成功しましたが、変更が見つからず、ダウンロードもされませんでした。

Github への新しいリモートを作成しようとしましたが、代わりにそれを使用しました。(例: git@github.com:MyUserName/MyProject)。このリモートからフェッチすると、Git は成功を示し、すべてのブランチを新しく更新されたものとして一覧表示します。ただし、どのブランチもダウンロードされません。fetch を再度実行すると、同じメッセージが表示されます。

数日前に同じリポジトリで同じ問題が発生しました。ローカル リポジトリを削除し、Github からリポジトリを複製して「修正」しました。しかし、問題が再発したため、一時的な修正にすぎなかったようです。

どんなガイダンスも大歓迎です!

解決済み: その通りです。変更を取得した後にマージする必要がありました。(残念ながら、Git GUI ではプルが許可されていません) Git GUI はこれを自動的に行っていたと思いますが、ある時点で誤ってオプションを変更した可能性があります。すべての情報をありがとう!

4

3 に答える 3

6

他の答えが言うように、fetchあなたの履歴に新しいコミットを取得するだけですが、「リモート追跡ブランチ」のみを更新します。これらは新しいコミットへの参照ですが、作業しているローカルブランチではありません。

リモートトラッキングブランチが持つものでローカルブランチを更新したい場合は、を使用しますgit pull

git fetch代わりにgit pull、リモートブランチで何が変更されたかをgit log --all、またはgitk --allその他の方法で履歴を検査することをお勧めします。導入する変更とその性質を知っている場合は、ローカルブランチを更新して、変更を含めることができgit merge origin/some-branchますgit rebase origin/some-branch

于 2012-05-28T20:24:30.847 に答える
6

fetchあなたのケースで起こっていることを正確に行います.変更をローカルGitにプルダウンします(リポジトリを同期します)が、それらの変更をブランチにマージせず、作業コピーを更新しません. あなたが探している動詞は だと思いますpull

「git pull」と「git fetch」の違いは何ですか?

于 2012-05-28T19:00:40.587 に答える