1

私は Git にかなり慣れていないので、master ブランチを混乱させてしまったと思います。

何が起こったかは次のとおりです。

私は (平和的に、誰とも干渉せずに) 仕事をしていて、このようなコミットを受け取りました。

a --> b --> C --> D

a, b他の人からのコミットでありCD私のコミットです。私はすべてをメイン リポジトリにプッシュしましたが、プッシュごとにテストを実行する必要がある自動ツールは、ビルドが失敗していると言いました。だから私はパニックになりました。私は新しいディレクトリを作成し、コミットするまでリポジトリを再クローンしましたb(その自動化されたツールがビルドがOKだと言ったとき) いくつかの非常に小さな変更を行い、プッシュを強制しました (ええ、私はあまり賢くはありませんでしたが、それは遅かったので、私はその時点で、リモートリポジトリは次のようになっていました。

a --> b --> E

しかし、私の最初のコミットは正しかったことが判明し、C失敗Dしたのは自動化されたツールでした。それは偽陽性を与えていました!! 気づけばメインブランチ(リモートリポジトリ)に誰かがコミットし直していたので、現時点ではこんな感じ。

a --> b --> E --> f

私がやりたいことは、同僚の作業を安全に破壊することなく、私の良いコミットCDブランチに挿入することです。コンピューター内のディレクトリにこれらのコミットがまだありますが、実行するとすぐにgit pull破棄されます。

リモートリポジトリを次のようにしたいと思います。

a --> b --> C --> D --> f

また

a --> b --> f --> C --> D

あるいは

a --> b --> E --> f --> C --> D

(スーパーダミーコミットを維持しEてもかまいません)

基本的に、同僚のコミットを破壊することなく、そこに行きたいCと思っています。Df

これは可能ですか?

私はパニック状態にあるので、何でも役に立ちます。

4

2 に答える 2

1

ただ行う:

git pull --rebase

「git pull」はローカル コミットを破棄せず、マージを作成することに注意してください。これはおそらく望ましくありません。

于 2013-09-29T06:10:44.067 に答える