問題タブ [git-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.

0 投票する
3 に答える
8179 参照

git - ブランチを切り替えたときに Git が一部のファイルを削除しないのはなぜですか?

私はこれを頻繁に経験しました。master ブランチで作業していて、プラグインをテストする必要があるため、新しいブランチを作成してチェックアウトします。プラグインをプロジェクト ディレクトリにダウンロードしてテストします。次に、マスター ブランチに戻り、作成したブランチを削除します。

結局、プラグインのファイルはプロジェクト ディレクトリに残ります。これが正常な動作なのか疑問です。ブランチ間をシームレスに切り替えるにはどうすればよいですか?

0 投票する
1 に答える
140 参照

git - Git: ブランチを単一のコミット オブジェクトに収束する

現在、gitに次のものがあるとします:

そこで、ブランチから始めて、master2 回コミットした後、 にブランチしましたfeatureX

さて、 で 2 回コミットした後、 で収束させ、 での最後のコミットから作業を続けfeatureXたいと思います。mastermasterfeatureX

masterこれは、 と の間でファイルをマージしたくないことを意味しますが、featureXで行われたすべてのコミットを に転送し、 で行われた最後のコミットから作業featureXmaster続けます。masterfeatureX

基本的には、次のようなものです。

これを行うには、どのような手順に従う必要がありますか?

ファイルを一緒にマージしたくないことに注意してください...上のものを上書きするだけですmastermasterまた、 の作業中に作業が行われていないと想定することもできますfeatureX

0 投票する
2 に答える
15781 参照

git - git -- 一部のユーザーの master ブランチをロックしていますか?

他のチームメンバーに、マスターブランチではなく開発ブランチで作業するように強制したいと思います。作業をプッシュする中央の git リポジトリがあります。ユーザーが master-branch に変更をプッシュすることをブロックできるかどうかを知りたいのですが、特定のユーザーのみがプッシュできるようにします。

以下のような「ワークフロー」が欲しい

  • 開発は常に開発ブランチでのみ行われます
  • リリース マネージャーはマスター ブランチを担当し、彼だけが開発ブランチからマスター ブランチにマージし、中央リポジトリのマスター ブランチにプッシュすることができます。

これは可能ですか、どうすればこれを達成できますか?

0 投票する
3 に答える
15820 参照

git - 「統合ブランチ」の目的は何ですか?

分岐戦略がn個の機能ブランチ、「マスター」(メインライン)および「統合」ブランチで構成されている場合。統合ブランチの目的は何ですか?機能ブランチ自体でテストと統合を実行できないのはなぜですか?

0 投票する
2 に答える
13087 参照

git - Git:マージを「元に戻す」方法

状況:私が分岐したマスターから始めて、Aいくつかの変更を加えてからB、その分岐をにマージしました(C)。さらにいくつかの変更を加えた後D、ブランチで発生した変更なしでコードをデプロイする必要があることがわかりました。私がそれを手でマージしなかったら、それは大丈夫だっただろう。

まず、マージが発生しなかったかのようにコードをデプロイするために、ここから何をすべきかを知りたいと思います。注:ブランチで編集された同じファイルは、マスターで編集されていません。

第二に...

これに対処するための最善の方法を見つける時間がなかったので、ブランチが追加したファイルを削除し、ブランチで行われたいくつかの編集を手動で元に戻し、展開のために結果をコミットしました(F

ブランチの開発を続け、マスターからの変更をマージして最新の状態に保ちたいのですが、そうすると、作成したものFがマージされてファイルが削除され、元に戻す編集。これに対処するための最良の方法は何ですか?

0 投票する
2 に答える
171 参照

git - gitブランチはどのように使用すればよいですか?

gitは初めてです。概念的には、その一部がどのように機能するかについて少し混乱しています。

ですから、ローカルワークの観点からは、本番環境に入るものだけを含むブランチと、アイデアなどをテストするためのブランチを用意して、それをマージできるようにするのは良い考えのように思えます。それらのブランチを作成するのと同じくらい簡単で、プロジェクトへの最近の変更をマスターブランチにコミットしたくない場合は、「テスト」ブランチに切り替えて、そこからコミット/プッシュするだけですか?ローカルプロジェクトアクティビティとgitの間の相互作用について混乱しています。

たとえば、Androidプロジェクトにコードを追加して保存すると、コミットしない限り、これらの変更はマスターリポジトリに影響しません。実際のローカルプロジェクトに関しては、これらの変更は保存されていましたが、それは事実です。

私はこの権利について考えていますか?そうでない場合は、私をまっすぐにしますか?

0 投票する
1 に答える
12058 参照

git - gitベアリポジトリの現在のブランチを切り替える

実際に作業しているベアリポジトリのブランチを削除したいのですが、ベアリポジトリにない「作業ツリー」がないとマスターリポジトリから切り替えることができないため、このタスクは行き詰まります。

実行するとgit branch -d master、出力は次のようになります。

そこで、実行して「develop」という別のブランチに切り替えようとするgit checkout developと、出力は次のようになります。

0 投票する
10 に答える
1963089 参照

git - 別のブランチから Git にブランチを作成する

masterdevの 2 つのブランチがあります。

devブランチから「feature ブランチ」を作成したいと考えています。

現在、ブランチ dev で、私は次のことを行っています。

... (いくつかの作業)

しかし、ブランチを視覚化した後、次のようになりました。

つまり、ブランチが ff マージされたように見えますが、その理由がわかりません...

私が間違っていることは何ですか?

別のブランチから分岐して、フィーチャー ブランチのリモート リポジトリにプッシュ バックする方法を教えてください。

here で説明されているような分岐モデルのすべて。

0 投票する
3 に答える
7787 参照

git - ブランチが開始する場所の情報を取得するには?

私の知る限り、コミットオブジェクトには親に関する情報のみが含まれているため、次のような状況がある場合:

これはある種の等価物です

しかし、私のマスターが前進する場合はどうなりますか?

ブランチ1にいると、git log --graph --decorate私だけが表示されます:

どのブランチから開始されたかがわかれば を呼び出すことができますgit merge-base master branch-1が、どのブランチから開始されたかわからない場合はどうすればよいでしょうか?


PS。私はまだ英語を学んでいますが、時々ばかげた間違いを犯します。質問と回答を英語で書くように最善を尽くしていますが、間違いがあれば投稿を編集していただければ幸いです。あなたの努力は無駄にはなりません。

0 投票する
6 に答える
72664 参照

git - Git チェックアウトは何も変更しません

私は本当にギットが好きです。少なくとも、私は git のアイデアが好きです。マスター プロジェクトを別のブランチとしてチェックアウトできるので、他のすべてを台無しにするリスクなしに、必要なものを変更できます。これは素晴らしいことです。しかし、それは機能していません。

基本的に、私のワークフローは次のようになります。

  1. 安定版を新しいブランチにチェックアウトして、新しいコードを試す
  2. たくさんの変更を加えてください - 私はこれを維持するつもりはありません。ただ実験しているだけです。
  3. 私が変更したすべてのものを見てください
  4. 追跡するすべての変更を追加します
  5. ブランチをコミットし、ブランチをオリジンにプッシュします (うまくいった場合は、この手順をスキップしてください)
  6. 別の方法を試すことを決定し、マスターに戻ります
  7. 私は master ブランチにいますが、私が作業していた実験的ブランチからのアーティファクトを観察してください。

ブランチを別のブランチにチェックアウトし、1 つのブランチに変更を加え、元のブランチをチェックアウトするたびに、他のブランチで発生したすべてのファイルと変更が残っています。これは非常にイライラしています。これを実行中にIDEでファイルを開いているとこれが発生する可能性があることを読みましたが、私はそれについてかなり注意しており、IDEでファイルを閉じ、IDEを閉じ、切り替え前にRailsサーバーをシャットダウンしました枝、そしてこれはまだ起こります。また、「git clean -f」を実行すると、任意のコミット後に発生したすべてのものが削除されるか (ランダムに)、最新のケースのように、何も変更されずに元の状態に戻ります。

私は git を正しく使用していると思っていましたが、この時点で、ここで頭がおかしくなりました。プロジェクトの安定版を使用して一連の実験的なコードを操作しようとしていますが、行ったすべての変更を手動で追跡して修正する必要があります。アイデアや提案はありますか?

これは、ブランチでコミットするかどうかに関係なく発生するようです。