2016-09-07 15 views
1

にリセットGitリポジトリ:私たちは、作業がコミット持っている:私はこの質問を数回に答えてきたけど、これまでのところ、私が試したすべての投稿解決策が私のために動作しませんでした:(</p> <p>状況がある古いコミット

私がする必要があるのは、最後の作業にマスターブランチを取得することです(つまり、他のブランチとのマージを含む)。もう一度コミットするか、最後のコミットをチェックアウトし、最後のコミットをサーバー上で上書きする - サーバー(github)repo。最後のコミットの変更が失われたかどうかは気にしませんが、彼らが無傷のままであれば傷つける。

他のブランチに触れないことが重要です。

のgit元に戻すには...複数の方法で

+0

あなたはそれを試しましたか:http://stackoverflow.com/a/4114122/2394026「新しいコミットで公開されたコミットを元に戻す」という段落の第2の解決策を見てください – Flows

+0

あなたの問題を解決するように思われる少なくとも2つの質問がここにあると思います。あなたはすでに何を試してみましたか? – MikeMB

答えて

2

を仕事をしていなかった私たちは、新しいブランチをmasterブランチを交換してくださいすることができ、少し生臭い:)

は、作業から新しいブランチを作成していることをコミットあなたが知っている

  • コミットがヘッド使用git branch master-temp HEAD~nからn番目のレベルである場合。 nをレベルに置き換えます。

    • あなたはこれが残るmaster-temp

    masterに新しいブランチの名前を変更し、新しい名前master-oldmaster-deprecated

  • に現在のmasterブランチの名前を変更し、ハッシュ使用git branch master-temp <sha1>
  • をコミットしている場合変更、作業コードのブランチを作成します。すべてのチームメンバーは、変更を加えることなく作業を続けることができます。

    古いブランチから他のコミットが必要な場合は、チェリー - 新しいマスターブランチへのコミットを選択します。

    @Flowsはマスターにプッシュする必要がある場合はgit push -force <branch>を使用する必要があり、

    • を追加しましたよう。

    ローカルマスタブランチを変更して更新する必要があり、devサイクルは設計どおりに行わなければなりません。

  • +0

    その後、すべてのユーザにアップデートを提供するためにリポジトリに 'push --force'することができます。しかし、「力」は常に利用可能なわけではなく、慎重に行う必要があります。 – Flows

    +1

    @Flows、ありがとう、ありがとう、これは初めて慎重に実行する必要があります。最初に「強制押し」を行い、他のすべてのユーザーはそれぞれのマスターブランチを更新する必要があります – VinayVeluri

    1

    私はあなたが最後に良いのコミットIDを使用してに切り替えたいというコミットを見つけることをお勧め:

    git log --stat 
    

    その後、あなたはmasterブランチにいる提供されるものにGitのチェックアウトを行うコミットID

    git checkout <commit id> 
    

    は、これは今、デタッチ状態にあなたを着陸さあなたが戻ってあなたが望んだ場所にいることを確認すると、最終的にコミットしてマスターにプッシュ行うことができます。それが役に立てば幸い。

    +0

    ありがとうございます。それでも、もう一度コミットしたいと思ったら、私は761f50bで "頭を切り離しました"を得ます。コミットしてマスターブランチにプッシュするにはどうすればよいですか? – Xenonite

    +0

    ここから、あなたの頭が今すぐ望ましいコミットに切り離されているので、あなたができる2つのことがあります: 1.新しいブランチを作成します: 'git checkout -b <新しいブランチ名> ' これは、切り離された頭の状態から分岐する。 2.その状態でマスタを永続的に設定する場合は、マスタのヘッドをそのコミットIDにリセットするだけです。次の手順に従います。 'git checkout master' すべての望ましくない変更を加えて、masterブランチに再び切り替えます。そこからHEADを望ましいコミットIDにリセットする必要があります: 'git reset 761f50b' –

    関連する問題

     関連する問題