問題タブ [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 リモート ブランチ
私は現在、リモート リポジトリを介して 2 人の開発者がアクセスする中央ベア リポジトリを使用して Git をセットアップしています。ブランチを作成し、そのブランチをリモート リポジトリから中央のベア リポジトリにプッシュしようとしたときに問題が発生しました。これは、この投稿の場合と同様です。
ブランチの追跡がこれを行うための最良の方法であると読んだことがありますが、私が読んでいるGitのバージョン管理の本には、ブランチの追跡は別のリポジトリからの変更に従うように設計されているため、マージに使用すべきではないと書かれていますそしてコミットします。
私の現在のセットアップに基づいて、さまざまなブランチを処理するための最良の方法は何ですか?
ソフトウェアのバージョン/リリースごとにブランチを作成するつもりでしたが、バージョン/リリースごとに個別のリポジトリを作成するのが最も簡単な方法のようです。
git - 同じ名前のリモート ブランチをフェッチする
リモートからブランチをフェッチしたいのですが、ブランチ名がリモート名で始まっていません。たとえば、次のようになります。
場合によっては機能しますが、場合によっては次のエラーが発生します。
リモートにこのブランチがあると確信していますが、これは機能します:
その後、別のブランチに切り替えて、ブランチ origin/BRANCH の名前を BRANCH に変更し、再度 BRANCH に切り替える必要があります... エラーの意味を知りたいです。
git - Git gui:リモートブランチにプッシュする方法は?
github からリポジトリを複製し、リモート ブランチをチェックアウトしました。リモートブランチに変更を加えてコミットしましたが、変更をリモートブランチにプッシュバックしようとすると、「すべてが最新です」というメッセージが表示されます。ここで何が間違っていますか?さらに、ブランチにプッシュすることはできません。唯一のオプションは master です。
私は git gui を使用しており、ブランチのチェックアウトは非常に簡単でした。変更をリポジトリにプッシュする方法がわかりません。どんな助けでも大歓迎です、ありがとう!
git - ローカルの git forked リポジトリ ブランチをリモートのオリジナルからの変更と同期する
フォークされた git リポジトリと元のリモート リポジトリの同期に関する多くの質問を見つけましたが、私の正確な問題には当てはまりませんでした。
アップストリームのリモート名でプロジェクトをフォークしたとしましょう。私のフォークの名前はoriginです。masterとdevのoriginを追跡するmasterとdevブランチがローカルにあります。
フォークされたレポに変更を加えない限り、オリジンでフォークされたレポをアップストリーム/マスターと同期できることはわかっています。
ここまでは順調ですね。しかし、今はローカルの開発ブランチで作業しており、完了したらそれをローカルのマスターにマージしたいと考えています。しかし、最初にローカル マスターをアップストリームの変更に合わせて最新の状態にします。
最初の質問: これは正しいですか? しかし、ローカルの開発ブランチはどうすればよいでしょうか? 更新したマスターでリベースしてからローカルマスターにマージするか、リベースせずにマージしてみますか? または、アップストリーム/マスターを時々プルして、ローカル開発者をアップストリーム/マスターと常に同期させておく必要がありますか?
これが達成されたら、私は
ローカルおよびoriginで、私のdevブランチを削除します。しかし、現在、私のマスター(ローカルおよびオリジン) は、ローカルdevによって行われた変更によってアップストリーム/マスターから逸脱しています。
2 番目の質問:アップストリーム/マスターとの同期を維持するための適切な方法は何ですか? 私はまだ単にやりますか
または、ここで他に推奨されるものはありますか (たとえば、何らかの形のリベース)? ブランチdevを再度作成した場合、最初の質問に適用したのと同じ戦略を再度適用しますか、それとも別の方法を適用しますか?
ご協力いただきありがとうございます!
git - gitは、リモート追跡ブランチをベアリポジトリに追加します
- git.drupal.orgから複製されたベアリポジトリがあります。
- この裸のリポジトリからさまざまな異なるWebサイトにクローンを作成しました。
- これらのそれぞれから、サイト固有のブランチをベアリポジトリにプッシュします。
たとえば、foo.orgとbar.orgがある場合、裸のリポジトリにはdrupalのブランチ+fooと呼ばれるブランチとbarと呼ばれるブランチがあります。
アイデアは、ローカルクローンでディスクスペースを節約するためにgitのハードリンクを最大限に活用できるということでした。裸のリポジトリをgit.drupal.orgからフェッチし続け、変更をローカルコピー、foo、barにプルダウンすると思いました。その後、更新が行われたとき、それは簡単でしょう。
fooとbarはブランチ7.xで始まりましたが、7.8に更新したいのですが、たとえばgit rebase 7.8
、これは失敗します。
fooとbarは、ベアリポジトリのリモートを「見る」ことができません。私に何ができる?
git - Git:現在のブランチで追跡されているブランチの名前を取得するには?
特定のスクリプトを作成するには、現在のブランチに追跡対象のリモートがあることと、このリモートの名前を確認する必要があります。git remote show origin
出力を解析せずに、現在のブランチにタックされたブランチの名前だけを取得する方法はありますか?
git - Git:「ブランチなし」から新しいリモートブランチにプッシュする方法は?
やった:
しかし、これを得ました:
ローカルブランチを作成せずに新しいブランチにプッシュできますか?
git - git機能(またはトピック)ブランチを複数の開発者と共有する方法
このページを優れたワークフローとして指している多くの参照を見つけたので、ここで説明するワークフローに従います。記事で述べたように、「機能」ブランチは開発者間で共有されますが、中央リポジトリには移動しません。
開発者「A」が。で新しい機能ブランチを開始するとしgit checkout -b newfeature develop
ます。ここで、開発者「B」もこの機能に取り組む必要があるとしましょう。これが私の問題です。
私がしたこと:
- 開発者「B」は、開発者Aのマシンをリモートとして追加します
- 開発者「B」が実行します
git branch remoteA/newfeature
- 開発者「B」はこのブランチで作業し、作業をコミットして、変更をremoteAにプッシュします。
現在、ステップ3は機能していません。メッセージが表示されます:
remote:error:デフォルトでは、非ベアリポジトリの現在のブランチの更新は拒否されます。これは、インデックスと作業ツリーがプッシュしたものと一致しなくなり、作業ツリーと一致するように「gitreset--hard」が必要になるためです。頭へ。
remote:error:リモートリポジトリで「receive.denyCurrentBranch」構成変数を「ignore」または「warn」に設定して、現在のブランチにプッシュできるようにすることができます。ただし、他の方法でプッシュしたものと一致するように作業ツリーを更新するように手配しない限り、これはお勧めしません。
remote:error:このメッセージをスケルチし、デフォルトの動作を維持するには、receive.denyCurrentBranchの構成変数を「refuse」に設定します。
私はすでに設定sharedRepository = true
しましたが、それは役に立ちませんでした。
2つの質問があります:
- 開発者間で機能ブランチを共有する正しい方法は何ですか?
- 開発者Bのリポジトリの変更を開発者Aの元のリポジトリにプッシュバックするにはどうすればよいですか?
git - GitHub でリモート ブランチを強制的に削除するには?
私は2つのリモートブランチを持っています:
このように削除しようとしましたpending-issues-in-project
:
git push origin :pending-issues-in-project
、しかし、エラーが発生しました:
ブランチを削除したのではないかと思いましpending-issues-in-project
たが、実行するとリストにブランチが
git branch -a
表示pending-issues-in-project
されます。
に対して同じことを試みた(削除しようとした)ときnew-issues-in-project
、それはうまくいきました。
を使用して、ローカル サーバーから両方のブランチを既に削除しgit branch -D branchName
ました。
ブランチがリポジトリに存在しないためにエラーが発生している場合、なぜリモートブランチリストに来るのでしょうか?
リモートブランチを強制的に削除する方法はあり
ますか?
御時間ありがとうございます。
git - What is the purpose of git tracking branches?
I created a tracking branch so whowasout.com tracked whowasout.com/master
When I commit some changes in the whowasout.com branch and execute "git push", master gets pushed to origin/master. Is this expected behavior? I was expecting whowasout.com to push to whowasout.com/master.
To push my changes, I currently type "git push whowasout.com whowasout.com:master" but I thought tracking would make this process quicker. Am I on the right track?