問題タブ [remote-branch]
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:作業ディレクトリが変更されたときにローカルブランチがリモートブランチよりも進んでいるかどうかを確認する方法は?
通常、作業ディレクトリがクリーンな場合は、「git status」を使用できます。出力は次のようになります。
ただし、作業ディレクトリが変更された場合、「git status」は次のように出力します。
すべての変更をリモート ブランチにプッシュした場合、2 番目の結果は表示されません。作業ディレクトリが変更されたときに、最初の結果が必要な場合があります。そんな状態でどうやって手に入れるの?
git - Git: リモート ブランチが更新される正確な原因は何ですか?
Pro Git (3.5) によると:
ただし、これは実際には正しくないようです。私は得る状況に到達しました
しかし、私は実際にはコミットを行っていません。他の人がオリジンにプッシュした変更をフェッチ/プルしただけです。Pro Git のステートメントが正しければ、すべてのフェッチまたはプルがオリジンとの通信になるため、リモート ブランチがローカル ブランチと同じであることが期待できます。
リモート ブランチを更新する正確な操作は何ですか?
mercurial - Bitbucket/Mercurial: 名前付きブランチをプッシュできない (同じ名前の以前のブランチを閉じた後)
名前付きブランチを含む変更セットを、Bitbucket でホストされている Mercurial リポジトリにプッシュしようとしていますが、push creates a new remote head (did you forget to merge?)
エラーが発生しています。--new-branch
にオプションを指定したかどうかに関係なく、これは発生していますhg push
。
(Mercurial のドキュメントでは、このような場合、「プッシュする前にプルしてマージする」ことを推奨していますが、実行hg incoming
すると「変更が見つかりません」と報告されます。つまり、ローカル リポジトリにないものが Bitbucket リポジトリには何もありません)。
タイトルが示すように、私のシナリオには、私が見ている動作に関連している可能性のある問題があります。これについては、以下で説明します。
Bitbucket リポジトリにプッシュしようとしているブランチの名前は、実際には以前にプッシュに成功したブランチの名前と同じですがhg commit --close-branch
、間違った親リビジョンで誤って作成したため、後で を介して閉じました。
(新しいブランチ名が古いものと同じでなければならない理由は長い話ですが、そうです。)
初めてブランチをプッシュする際に問題があったことを思い出しません。以前hg push --new-branch
はそうしていたと思いますが、実際のコマンドは今ではコマンドライン履歴バッファーの一番上にスクロールされているため、それを証明することはできません。とにかく、--new-branch
今回のオプションは問題を解決していません。
改訂履歴の図は次のとおりです。
r0 から r4 までを Bitbucket リポジトリにコミットできましたが、r5 を (--new-branch
オプションの有無にかかわらず) プッシュしようとすると、次のようになります。
質問は次のとおりです。
push -f
r5 を Bitbucket リポジトリに入れるために使用する以外に選択肢はありますか?- Bitbucket のバージョンの Mercurial が、元の「drop1」ブランチが r4 の正常なプッシュによって閉じられたことを認識せず、
hg push --new-branch --rev 5
失敗する可能性はありますか?
(*) オフショアの開発者が、コード ドロップを zip アーカイブとしてメールで送信するのではなく、Mercurial と Bitbucket をまだ直接使用していない理由は、あまりにも恐ろしい話です.]
git - リモートリポジトリからすべてのブランチをgit pull
すべてのリモート ブランチを自分のリポジトリにプルするにはどうすればよいですか?
私が入力した場合:
ブランチの長いリストを取得しますが、次のように入力すると:
私はそれらのうちの2つだけを見ます。
すべてのブランチをローカル リストに取り込むにはどうすればよいですか?
私はできることを知っています:
ただし、一度に 1 つのブランチのみをプルしてチェックアウトします。何度も何度も実行するという面倒な作業をせずに、すべてを一度に完了する方法はgit checkout --track origin/branch-nameありますか?
ps。次のコマンドを試しましたが、git branchリストにリモートブランチが表示されることはありませんでした:
git - ローカル git リポジトリ内のすべてのリモート ブランチをローカル トラッキング ブランチに変換するにはどうすればよいですか
ローカル git リポジトリ内のすべてのリモート ブランチを、1 つずつチェックアウトすることなく、ローカル トラッキング ブランチに変換するにはどうすればよいですか。
これを行う理由の 1 つ (私がこれを行う理由) は、ローカル リポジトリのクローンを取得し、その新しいクローンに元のリモート オリジンからのすべてのブランチを含めることができるようにするためです。
「クローン」はローカルブランチのみをクローンするためです。
編集:いくつかのスクリプト化された回答が提供されています(そのため-ありがとう!)...完全に移植できるように、git内の方法を本当に望んでいました(「Windowsのみ」のユーザーがいるため、これまで、bash (git-bash など) を使用しなくても生き残ってきました)。
git - git remote prune、git prune、git fetch --prune などの違いは何ですか?
私の状況はこれです...同じリポジトリで作業している誰かが、ローカルおよびリモートリポジトリからブランチを削除しました...
Stack Overflow や他のサイトでこの種の問題について質問したほとんどの人はgit branch -a
、下部にあるリモート トラッキング ブランチ リストにまだブランチが表示されているという問題を抱えています。
ただし、私の状況では、存在しないはずのブランチはローカルです。
次のいずれかを実行すると、ローカルで削除されません。
私も試しました:
より有用な情報: これを確認git remote show origin
すると、次のようになります。
というタイトルのセクションにのみあることに注意してくださいLocal branches configured for 'git pull':
なんで?
git - リモート ブランチ名に設定されたベース ブランチを使用して、ブランチを GitHub のリモートにプッシュする
リモートに 3 つのブランチ (master、development、featurebranch) があります。私が望んでいたのは、 branch1をプッシュするときに、それを開発ブランチまたは任意の種類のブランチにプッシュしようとすることです。私はこのようにすべきことの例を見てきました
しかし、試してみると、Git は自動的にローカル ブランチをリモート ブランチにマージします。そのブランチでプルリクエストをしたかったのです。GitHub には、マージしたいブランチを切り替えて選択できる便利な機能があります。
しかし、自分のブランチをリモート ブランチにプッシュするときに、ベース ブランチが指定したリモート ブランチに設定される方法はありますか?
git - Git pull はタコの戦略と競合します
最近git pull
、マスター ブランチで実行すると、次のマージ エラーが発生することがあります。
ただし、このマージ試行の後、master ブランチにさえないファイルがあります。この問題は、使用して再度プルすることで修正できますgit reset
が、このヘッドまたはコミットがどこから来たのか疑問に思っていましたが、どうすればこれを見つけることができますか? ローカル GitLab サーバーを調べて確認しようとしましgitk
たが、何も見つかりませんでした。