問題タブ [git-fetch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - リモートブランチを削除してオリジンからフェッチしますか?
私がそうしgit fetch origin
、originに削除されたブランチがある場合、リポジトリでそれを更新していないようです。私がやったとき、git branch -r
それはまだ表示されますorigin/DELETED_BRANCH
。
どうすればこれを修正できますか?
git - git clone --mirror を更新するには?
ライブ サイトをミラーリングするための git リポジトリを作成しました (これはベアでない git リポジトリです)。
さて、このミラー クローンをリモートのオリジンからのすべての変更で最新の状態に保つには、どのコマンドを使用する必要がありますか?
コミット、参照、フック、ブランチなど、すべてを最新の状態に保ちたいと思います。
ありがとう!
git - 引数なしの Git fetch と pull
という名前の git ブランチをチェックアウトしましfoo
た。
最初は次のコマンドを使用してチェックアウトされました。
リモート リポジトリからこのブランチの更新を取得したいと考えています。これらのコマンドのいずれかで十分であることはわかっています。
fetch
またはの引数を省略した場合pull
、git はデフォルトで、現在チェックアウトしているブランチを取得 (またはプル) しますか? つまり、次のコマンドのペアは同等ですか?
と
git - git push-fに類似/反対のgitpull?
時々、特に。リモートリポジトリで作業しているのが私だけの場合は、とを使用して履歴を書き換えるのが好きgit rebase -i
ですgit push origin master -f
。
git pull origin master
マージせずに強制的に行うにはどうすればよいですか?オプションで試してみました-f
が、うまくいきませんでした。ローカルのgitリポジトリの履歴をリモート(オリジン)の履歴と一致するように書き直したいだけです。
git - refspec の違いによる Git プル/フェッチ
refspec を使用すると、リモート ブランチを取得して、同様のブランチを作成できますが、名前を指定できます (または、その逆: ローカル ブランチとは異なる名前でリモート ブランチを作成します)。私は1つの小さなことについて困惑しています-プルは現在のブランチとのマージも行うため、次とは異なる動作が予想されます:
そしてから
上記のコマンドはどちらもまったく同じ結果を生成するようです。つまり、origin/master と同じ、mymaster というローカル ブランチです。私は正しいですか、それとも2つの間に漠然とした違いがありますか?
最後に、refspec を使用すると、追跡ブランチではなくローカルブランチが作成されますよね? 追跡ブランチは、引数なしで git push を呼び出すと自動的にプッシュされるため、AFAIK
git - ブランチがオリジン/マスターよりも進んでいることを示すプルオンリーリポジトリの「gitstatus」。なんで?
だからここに状況があります:
$ git status
#ブランチマスター上
#ブランチは[x]commitsによって'origin/master'より進んでいます。
#
SOについてはすでにいくつかの質問がありますが、私が持っているシナリオのタイプに具体的に対処しているものはないようです。質問の1つに対するこの回答は最も近いものですが、詳細には触れていません。
私はそれを逐語的に引用します:
「gitpullremotebranch」を実行した後にこのメッセージが表示された場合は、「gitfetch」でフォローアップしてみてください。
Fetchは、リモートブランチのローカル表現を更新するようです。これは、「gitpullremotebranch」を実行するときに必ずしも発生するわけではありません。
そのヒントは確かに機能します。しかし、「必ずしも起こるとは限らないのですか?」なぜだめですか?私はこれを理解する必要があります。プルが行わないのは何ですか?
私はその質問を引き継ぎたくないので、ここに私のシナリオの詳細があります:
関係する3台のコンピューター。私が開発しているMac、gitリポジトリ(つまりorigin / master)が存在するホームサーバー、およびそのサーバーからプルするWebfactionアカウント。
私はコミットをgit push origin master
行い、Macでのみ行います。通常のワークフローの一部としてWebfactionで実行される唯一のコマンドは、git pull origin master
(Fabricデプロイメントスクリプトの一部として)です。そこでコードを変更しません。私は一人の開発者なので、他の誰もしません。
時々、私はWebfactionにログインして、を含むものをチェックしgit status
ます。必然的に、私は常に「あなたのブランチは先にあります...」というメッセージを受け取ります。実行git fetch
するとメッセージが消えます。
この問題を処理するためにFabricスクリプトに追加git fetch
しようとしていますが、特にオリジン/マスターのプルオンリークローンで、なぜそれを実行する必要があるのかを知りたいです。毎日基本的な機能を使っていますが、Gitに精通していないので、初心者向けの説明をいただければ幸いです。
要求に応じて、関連するビットを更新config
します。
git - git - 他のリポジトリからファイルをミラーリングする方法
おそらく解決できない問題がありますが、とにかく質問します。1 つの git リポジトリがあり、1 つのファイルを別のファイルからミラーリングする必要があります。リポジトリに必要な .xsd ファイルがリポジトリに 1 つあります。
それは最大の問題ではありません。そのファイルを (たとえば git fetch で) .xsd ファイルを含むリポジトリの最後のタグのバージョンに更新したいと考えています。
どんな助けでも本当に感謝しています
ruby-on-rails - Git push が github に失敗する: オブジェクトの読み取りに失敗しました
物語:
デスクトップとラップトップの両方で RoR アプリを開発しています。別のサーバーで行われた変更をコミットし、それらを github にプッシュし、別のサーバーでフェッチしてマージするのは非常に便利でした。
出発点は次のとおりです。デスクトップで最新の変更をコミットし、それらを github にプッシュしてから、フェッチしてラップトップにマージしました。次に、ラップトップでいくつかのコミットを行い、github にプッシュしました。変更を取り、デスクトップにマージしました (--no-ff を使用)。次に、すべてのいたずらの可能性のある原因が起こりました。デスクトップを元に戻して、最新のフェッチとマージの前の場所にコミットしました。それを使っていくつかの開発作業を行い、コミットし、github にプッシュしました。ラップトップでも元に戻しましたが、github からの最新のフェッチの間のどこかで行われたコミットに戻し、再度フェッチしてそれらをマージしました。デスクトップとラップトップの両方を元に戻した後にいくつかのエラーメッセージが表示されましたが、それでもかなりうまく機能し、両方のマシンで作業を続けました。
今まで。ラップトップから github にプッシュしようとしましたが、次の出力が得られました。
では、問題は、ここで正確に何が起こったのかということです。
編集:ラップトップを一時停止して、その状態で場所から場所へ移動したため、何らかの形でハードドライブが台無しになったようです。問題を回避して作業を続けたため、fsck の出力は利用できませんが、IIRC の一部のブランチとコミットは、git が読み取れなかったコミットを含め、ぶら下がっていました。- ティーム
git - Git --bare ...なぜfetchは常に最新のコミットを表示しないのですか?
JIRAインスタンスに表示するためにローカルでミラーリングしたGITリポジトリがいくつかありますが、(私にとっては)奇妙な動作に気づきました。
私はレポを持っています。これを「myrepo」と呼びます。gitcloneとgitpullを実行すると、常に最新のコミットが取得されます。
ただし、git clone --bareを実行すると、ベアリポジトリから「gitfetch」を実行すると、「gitlog」に新しいコミットが表示されません。これはなぜですか?
git - 中央のリモート リポジトリから git fetch する方法は?
私は Git を初めて使用し、「git fetch」の使用方法に少し混乱しています
SSH を使用してアクセスする中央リポジトリがあり、次のように git clone を使用してリポジトリを作成しました。
現在、他の開発者がいくつかの新しいファイルを「somedomain.com」の中央リポジトリにプッシュしています
私の質問は、コマンドラインから新しいファイルと変更を取得するにはどうすればよいですか?