私は Git にかなり慣れていないので、master ブランチを混乱させてしまったと思います。
何が起こったかは次のとおりです。
私は (平和的に、誰とも干渉せずに) 仕事をしていて、このようなコミットを受け取りました。
a --> b --> C --> D
a, b
他の人からのコミットでありC
、D
私のコミットです。私はすべてをメイン リポジトリにプッシュしましたが、プッシュごとにテストを実行する必要がある自動ツールは、ビルドが失敗していると言いました。だから私はパニックになりました。私は新しいディレクトリを作成し、コミットするまでリポジトリを再クローンしましたb
(その自動化されたツールがビルドがOKだと言ったとき) いくつかの非常に小さな変更を行い、プッシュを強制しました (ええ、私はあまり賢くはありませんでしたが、それは遅かったので、私はその時点で、リモートリポジトリは次のようになっていました。
a --> b --> E
しかし、私の最初のコミットは正しかったことが判明し、C
失敗D
したのは自動化されたツールでした。それは偽陽性を与えていました!! 気づけばメインブランチ(リモートリポジトリ)に誰かがコミットし直していたので、現時点ではこんな感じ。
a --> b --> E --> f
私がやりたいことは、同僚の作業を安全に破壊することなく、私の良いコミットC
をD
ブランチに挿入することです。コンピューター内のディレクトリにこれらのコミットがまだありますが、実行するとすぐにgit pull
破棄されます。
リモートリポジトリを次のようにしたいと思います。
a --> b --> C --> D --> f
また
a --> b --> f --> C --> D
あるいは
a --> b --> E --> f --> C --> D
(スーパーダミーコミットを維持しE
てもかまいません)
基本的に、同僚のコミットを破壊することなく、そこに行きたいC
と思っています。D
f
これは可能ですか?
私はパニック状態にあるので、何でも役に立ちます。