問題タブ [git-non-bare-repository]

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 投票する
10 に答える
112212 参照

git - コミットではなく、そこからブランチを作成できないのはなぜですか?

リポジトリの複雑な構成を扱う必要があります。私はそれらのうちの5つを持っています:

  1. マシン 1 のリモート中央リポジトリ。
  2. ノートブック (マシン 2) のローカル リポジトリ。
  3. マシン 3 の裸のリポジトリ。
  4. マシン 3 のリポジトリ。
  5. コード レビューを行うマシン 4 のリポジトリ。

だから、それがこのように機能するという私の理解:

  1. 私のラップトップ (マシン 2) で、マシン 1 にある中央リポジトリからクローン/プルします。
  2. ローカル リポジトリをマシン 3 にプッシュします (ベア リポジトリを「中間」として使用します)。

ここで、マシン 3 でいくつかの変更を行い、これらの変更をマシン 4 にプッシュしたいと考えています。従う必要がある手順は次のとおりです。

  1. マシン 3 で、テストブランチですべての作業を行い、コミットします。
  2. マシン 3 の裸のリポジトリにプッシュします: git push origin test-branch
  3. ラップトップで: machine-3 リポジトリから新しいコミットを取得します: git fetch machine3
  4. マシン 3 からブランチをチェックアウトします: git checkout -b test-branch machine-3/test-branch
  5. machine-4 からコミットを取得する: git fetch origin
  6. git rebase オリジン/マスター
  7. git push origin HEAD:refs/for/master

ステップ 4 に問題があります。次のエラーが表示されます。

追加した

実行すると

私のラップトップ(マシン2)では、次のようになります。