問題タブ [git-revert]
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.
git - 最後のコミットを元に戻して履歴から削除するにはどうすればよいですか?
私はコミットを行い、元に戻しました
ただgitlog
しかし、git logを実行すると、すべてが表示されます。機密情報が含まれているため、履歴から削除する必要があります
コミット5d44355080500ee6518f157c084f519da47b9391も履歴から削除するにはどうすればよいですか?
git - 'git reset --hard HEAD'を使用して前のコミットに戻すにはどうすればよいですか?
Gitはアプリケーションに加えた変更を追跡し、変更をコミットするまでGitはそれらを保持することを知っていますが、ここで電話を切ります。
以前のコミットに戻したい場合は、次を使用します。
そしてGitは次のように返します。
次に、ハードドライブ上のファイルを以前のコミットに戻すにはどうすればよいですか?
次のステップは次のとおりです。
しかし、私のハードドライブ上のファイルはどれも変更されていません...
私は正しい/間違っていることをしていますか?
git - ローカルにないリモート git 履歴からコミットを削除します
チーム メンバーが誤って 1 GB を超えるファイルをマスター ブランチにコミットし、オリジンにプッシュしました。それ以来、ソース管理から削除し、マスターにコミットしました。ただし、( 経由で) コードを更新している他のすべての共同作業者は、git pull
実際には履歴の一部としてファイルをダウンロードしています。
そのコミットを履歴から完全に取り除きたいです。チーム メンバーのコンピューターにアクセスできれば、これはずっと簡単にできると思いますが、現時点ではアクセスできません。リモートから最新のものをプルダウンすることなくこれを行う方法はありますか?
git - gitreset--hardを使用した後に変更をプッシュできません
私は間違いを犯し、コミットすべきではなかったgitにいくつかの変更をコミットしました。コミットした後、変更をプッシュしました。次に、次のコマンドを使用して、変更をリセットしてみました。
ここで、次のコマンドを使用して、この「リセット」をリモートリポジトリにプッシュします。
しかし、私はこのエラーを受け取ります:
このコマンドを使用しようとしましたが、成功しませんでした。
私に何ができるか考えてみませんか?
git - プッシュされたブランチを具体的なコミットに戻す
devブランチ(一定の、時には不安定な変更を伴う)をmasterブランチ(リリースされた安定したコードを格納する場所)にマージしました。マスターブランチを、devブランチとのマージが発生しなかったような以前の状態に復元したいと思います(将来、devブランチをマージするときに、今破棄するすべての変更が「再度」マージされます)。
これはマスターブランチの現在のステータスであり、HEADに「professional-1.1.2」コミット/タグを付けたいと思います。
私は試した:
少し調べてみると、Gitの答えとして、早送りを無視して元の[ブランチ]を以前のコミットに戻す方法git reset --hard professional-1.1.2
が良いと思います。またはpush'dgitcommitを元に戻します。他の開発者は同じオフィスにいて、マスターに何もコミットしてはいけません(私もそうすべきではありませんが...ええ、ブランチごとの権限はありません)ので、彼らに伝えて何かをすることは大きな問題ではありませんアクションが必要です。git push --force
したがって、最終的に問題は次のとおりです。git revert something
またはgit reset --hard <TAG>
&& git push --force
?の場合git revert
、どのコマンドラインを使用する必要がありますか?
git - マスターgitブランチを台無しにしました...何を元に戻す必要があるのかわかりません
私はマスターからのブランチを持つgitリポジトリに取り組んでいます。これをab
ブランチと呼びます。私のチームはブランチに取り組んでおり、ab
githubを使用したプルリクエストワークフローを持っています。私のチームメートの1人が、自分のブランチjeremy_ab_deletions
からブランチへのプルリクエストを行いましたab
。私は彼の変更を確認/テストしていましたが、ab
ブランチにマージしようとしたときに、誤ってマスターにマージし、間違いを見つける前にマスターをgithubにプッシュしました。私が行った変更をgit-revertできると思っていたのですがgit revert SHA
、うまくいったようです...
それで十分だと思い、喜んでabブランチに戻って作業を続けました。しかし今、私は、決してab
マスターになるべきではないブランチからの以前のコミットがすべてマスターにあることに気づきました。それは...かなり混乱しています。彼のブランチは元々から分割されていたので、それをマスターにマージしたので、を使用して元に戻す必要がありました。ab
git revert -m 1 SHA
今日、私はどこが間違っていたのかを正確に把握しようとしていましたが、gitの履歴とreflogに基づいて、あらゆる種類の混乱が生じています。最初に、私は元に戻すことを試みました、そして次にしますgit revert -m 1 SHA
しかしgitは私に言います:
だから私は大丈夫だと思います...多分それはマージコミットではなく、私は別のSHAをターゲットにする必要があります。しかし、歴史を見ると、私は一生の間、これらのどれがマージコミットであったかを理解することはできません...
「これはABにあるはずだった」という2つのコミットは、「削除された不要なテスト」と「未使用のビューとページの削除」コミットを元に戻すための元に戻すコミットです。マスターへの次のコミットは今日で、それ以前のコミットは16日で、どちらも関連していませんでした。実際のマージがどこで発生したかわかりません。
私はreflogを調べて、正確にすべてが台無しになっている場所を確認しました。キーファイルを使用してreflogバージョンを上下に移動し、git reset --hard HEAD@{NUM}
キーファイルを調べて、悪い変更がまだその場所にあるかどうかを確認しました。最後に、これらのreflogに絞り込みました。
具体的には、ここのHEAD @ {88}には不正なコミットがなく、HEAD@{87}には不正なコミットがあります。したがって、私がコミットで失敗したと仮定するのは合理的ですmerge jeremy_ab_deletions: Fast-forward
......しかし、それがどの「マージコミット」であるかを理解することはできません。私はこれを試しました:
私は...実際のマージコミットが見つからないようですか?誰かが私が間違ったことを知っていますか:/私は今あらゆる種類の道に迷っています。
git - Gitで元に戻す方法は?
現在のgitログ:
私はfooです。安定バージョン(bar123をコミット)に戻したい場合は、またはを使用する必要がありますgit revert HEAD~1
かgit revert HEAD~2
?つまり、Merge(commit foo456)も有効なコミットです。少し混乱しています。
symfony - Composer はパッケージを元に戻します
Symfony 2.1 で新しいアプリを作成しています。コンポーザーを使用して取り込まれた多くのバンドルを使用しています。これらのバンドルの多くは、この最新バージョンの Symfony に問題があり、問題を特定するために /vendor フォルダーに移動する必要があります。
これは、純粋にテスト目的で、ベンダー ファイルを直接変更していることを意味します。(バンドルを修正したら、分岐して適切なプル リクエストを送信します)。
私が知りたいcomposer.phar revert
のは、ベンダー フォルダーに加えられた変更を元に戻すようなコマンドがあるかどうかです (git チェックアウトなど)。現時点では、作曲家を実行するか、これを実行update
しinstall
ません。
ありがとう
git - 以前のコミットからの変更なしの新しいGitブランチ
私の現在のブランチは次のようになります。
私は、新しいgitレポジトリを次のようにする新しいgitブランチを作成する方法を模索していました。
これは可能ですか?リセットを使うことを考えましたが、それはCからの変更も失われることを意味するので、別の方法を探しています。
git - git で履歴コミットの一部を元に戻す方法はありますか?
gitリポジトリに以下のコミット履歴があるとします(すべての変更は1つのファイルで行われます)
- 関数の削除
foo()
とbar()
、関数の変更baz()
- 何か他のものを変える
今、関数を再度追加したいと思いfoo()
ます。私が望んでいたのは、これを手動で行う方法です。たとえば、エディタが並列差分モードで開かれているとします。一方はコミット #1 ( function を含むfoo()
) の前のバージョンで、もう一方はローカルの作業コピーです。履歴側から作業コピー側に必要なものをすべてコピーできるようにします。
git
これを行うのに役立つコマンドはありますか?
ありがとう