git 如何回滚
过去多啦不再A梦
过去多啦不再A梦 2017-05-02 09:37:50
0
10
696

场景:

  • 1.修改文件A,commit并push到远程仓库

  • 2.修改文件B,commit,也push到了远程

  • 3.现在A文件的修改错误了,需要回滚到之前的版本,但是文件B的修改需要保存下来,请问现在应该如何操作?

如果用git reset --hard命令回滚到A修改的版本号,那么B的修改也被丢弃了

过去多啦不再A梦
过去多啦不再A梦

全員に返信(10)
巴扎黑

リーリー

いいねを押す +0
PHPzhong

git revert (バージョン番号)

いいねを押す +0
仅有的幸福

これを実行しても失われることはありません、私たちは皆これを実行します..
git replace --hard コマンドは A によって変更されたバージョン番号にロールバックします
git pull --rebase 原点ブランチ番号 B のコードをプルダウンして確認します競合がある場合は、競合を解決した後に git Push を実行します
..

いいねを押す +0
给我你的怀抱

git replace --soft HEAD@{id}、これにより送信は取り消されますが、ワークスペース内の変更は消えません。その後、間違った変更を修正し、送信してリモート エンドにプッシュします

いいねを押す +0
我想大声告诉你

この場合、通常はログを直接チェックしてファイル A を復元し、ファイル B が完全であることを確認します

いいねを押す +0
大家讲道理

間違ったものを修正して、一度送信して上書きすることはできませんか?

いいねを押す +0
伊谢尔伦

パブリックブランチで既に送信されたコミットでは を使用しないでください。別のコミットが生成されますgit reset,如果有人已经 pull 了这些 commit,会很麻烦
这种情况下应该用 git revert

いいねを押す +0
左手右手慢动作

git rebase -i HEAD^^^
用默认编辑器打开一个文档,修个A那次提交前面改成drop或简写为d 保存します。
提出物は自動的に破棄されます(競合がある場合は、自分で競合を解決する必要があります)

いいねを押す +0
Ty80
  1. git log A の前に A B の commitId を表示します

  2. git restart --hard A の以前の commitId

  3. git チェリーピック B の commitId

この機能はチェックアウト機能と呼ばれ、特定の時間に送信された変更を取得することができます

いいねを押す +0
伊谢尔伦

リセットはできず、元に戻すことのみが可能です。リモートにプッシュされたコミットはリセットまたはコミットできません。これにより、他の人のバージョン履歴が破壊されます。

元に戻すには、私のこの記事を読んでください: /a/11...

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!