[解決済み] GITで部分的にリバートすることはできますか?
2022-04-20 17:02:59
質問
複数ファイルのコミットで、1つのファイルまたはファイルの特定の変更のみを取り消すことは可能ですか?
全文表示 私はたくさんのファイルをコミットしました。何度かコミットした後、名前を伏せておく人 (JACK!!) が自分のリポジトリにファイルをコピーして、いくつかのファイルをコミットし、私が行った変更のいくつかを上書きしました。私は上書きされた一つのファイルをリバートしたいのですが、もっといい方法は、そのファイルの中の二つの変更をリバートすることです。これは、プルされてプッシュされたので、別のリバートコミットにする必要があります。
解決方法は?
no-commit」オプションを追加することで、新しいコミットを作成せずにコミットを取り消すことができます。これにより、ステージング・エリアにすべての戻されたファイルが残されます。そこからソフトリセットを行い、本当に必要な変更を追加していくのです。ワークフローの例です。
git revert <sha-of-bad-commit> --no-commit
git reset // This gets them out of the staging area
<edit bad file to look like it should, if necessary>
git add <bad-file>
git checkout . // This wipes all the undesired reverts still hanging around in the working copy
git commit
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] ファイルをリセットしたり、特定のリビジョンに戻したりするにはどうすればよいですか?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
git commits with an error: 更新が拒否されました。現在のブランチの先端が、このブランチより後ろにあるためです。
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push s...
-
[解決済み】gpgがデータの署名に失敗した fatal: failed to write commit object [Git 2.10.0].
-
[解決済み] リモートから<branch name>とマージするように構成が指定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] ERROR: リモートレポ 'origin' のクローン作成に失敗しました。
-
[解決済み] git が「Pull is not possible because you have unmerged files」と表示するのはなぜですか?
-
[解決済み] .gitignore と "以下の追跡されていない作業ツリーファイルはチェックアウトによって上書きされるでしょう"
-
[解決済み] Git エラー : 'upstream' は git リポジトリでないようです。
-
[解決済み] gitでコミットの一部を取り消す