問題タブ [git-reset]

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.

0 投票する
7 に答える
148866 参照

git - 「git リセット」と「git チェックアウト」の違いは何ですか?

どちらもプロジェクトを特定のコミットに戻すという意味で、私は常に と を同じものと考えてきましgit resetた。git checkoutただし、冗長になるため、まったく同じにすることはできないと思います。両者の実際の違いは何ですか?svn cosvnはコミットを元に戻すだけなので、少し混乱しています。

追加した

VonC と Charles は と の違いgit resetgit checkoutとてもよく説明してくれました。私の現在の理解では、git resetすべての変更を特定のコミットに戻しますが、git checkout多かれ少なかれブランチの準備をします。この理解を深めるには、次の 2 つの図が非常に役立ちます。

http://a.imageshack.us/img651/1559/86421927.png http://a.imageshack.us/img801/1986/resetr.png

追加 3

http://think-like-a-git.net/sections/rebase-from-the-ground-up/using-git-cherry-pick-to-simulate-git-rebase.htmlから、チェックアウトとリセットをエミュレートできますリベース。

ここに画像の説明を入力

ここに画像の説明を入力

0 投票する
1 に答える
20014 参照

git - git を使用してマスターからブランチにコミットを移動する

Git を効果的に使用する方法を学習しようとしていますが、次のケースをどのように解決する必要があるか (良い習慣/悪い習慣?) を考えています。

master に次の一連のコミットがあるとします。

  • 初期コミット
  • コミット 1
  • コミット 2
  • コミット 3

その後、最後の 2 つのコミットで行われたことが完全に間違っていることに気付き、コミット 1 からやり直す必要があります。質問:

  • どうすればいいですか?
  • コミット 2 と 3 を別のブランチに移動して、将来の参照用に保持し (結局のところそれほど悪くはなかったとします)、マスターでコミット 1 から作業を続けることはできますか?
0 投票する
1 に答える
216 参照

git - 現在サブディレクトリの下にある場合、GIT でファイルをアンステージするためにフル パスが必要ですか?

リポジトリ: mergetest

$pwd

/gitvobs/mergetest/アップル

$git ステータス

ブランチ br1 で

変更されたが更新されていない:

(コミットされる内容を更新するには、「git add ...」を使用します)

(「git checkout -- ...」を使用して、作業ディレクトリの変更を破棄します)

$git チェックアウト内部

エラー: pathspec 'inside' は、git が認識しているファイルと一致しませんでした。

$git checkout apple/insideは完璧に動作します

毎回、サブディレクトリ内にいるときに変更をアンステージするためにファイルのフルパスを指定する必要がありますか?

これは add には当てはまりません (どこでも 'git add file-name' を使用してファイルを追加できます)

これは GIT の動作ですか、それとも他のバージョンの GIT で変更されていますか?

gitバージョン1.6.6を使用しています

ありがとう

0 投票する
6 に答える
214254 参照

git - Gitでローカルコミットを破棄するには?

私は何かに取り組んでいましたが、完全に失敗したと判断しました...一部をコミットした後。そこで、次のシーケンスを試しました。

その時点で私はメッセージを受け取りました

ローカル ディレクトリを消去してすべてを再ダウンロードすることなく、ローカル コミットを破棄したい。どうすればそれを達成できますか?

0 投票する
3 に答える
16434 参照

git - 誰かがリベースまたはリセットを発行済みブランチにプッシュした後、どうすれば回復/再同期できますか?

公開された作品を決してリベースしてはならない、危険だ、などと聞いたことはありますが、リベースが公開された場合の状況に対処する方法について投稿されたレシピを見たことがありません。

これは、リポジトリが既知の (できれば少数の) グループによってのみクローンされている場合にのみ実現可能であることに注意してください。フェッチ(!)。

私が見た明らかな解決策の 1 つは、ローカル コミットがなく、fooリベースされた場合に機能します。

これにより、ローカルの状態がfoo破棄され、リモート リポジトリの履歴が優先されます。

しかし、そのブランチで大幅なローカル変更をコミットした場合、どのように状況に対処すればよいでしょうか?

0 投票する
41 に答える
8160405 参照

git - Gitリポジトリを以前のコミットに戻すにはどうすればよいですか?

現在の状態から特定のコミットで作成されたスナップショットに戻すにはどうすればよいですか?

git logすると、次の出力が得られます。

11月3日からコミットに戻すにはどうすればよいですか?つまりコミットし0d1d7fcますか?

0 投票する
6 に答える
4192 参照

git - Gitを使用してファイルを特定のコミットにリセットすることはできません

最新のコミットにあるものに戻したい変更済みファイルがありますが、常に変更済みとしてマークされている「スタック」しています。

次に試してみます:

ただし、gitstatusの出力は同じです。次に試してみます:

そして、gitstatusの出力はまだ同じです。

そのファイルの想定される変更をどのように取り除くことができるかについてのアイデアはありますか?

0 投票する
3 に答える
209873 参照

git - git での最後のコミット後にすべての変更をリセットする

追加されたファイルの削除、変更されたファイルのリセット、削除されたファイルの再追加など、最後のコミット後にディレクトリに加えられたすべての変更を元に戻すにはどうすればよいですか?

0 投票する
5 に答える
79412 参照

git - 「git add」を元に戻す」?

コマンド「git add dir」を使用して誤ってファイルを追加しました。「git commit」はまだ実行していません。このディレクトリとその中に含まれるすべてのものをコミットから削除する方法はありますか?

試してみgit reset dirましたが、うまくいきませんでした。どうやらgit reset fileそれを元に戻す方法です。しかし、私には非常に多くのファイルがあり、時間がほとんどありません。

0 投票する
1 に答える
5324 参照

git - gitで中間マージを削除するには?

中間マージを削除し (スカッシュではなく削除)、最後の 2 つのコミットを新しいブランチに移動したいと考えています。

これは私の現在git log --graphです:

私はこれで終わりたい:

git rebase -iブランチ tade とのマージを削除してgit branch newoneからgit reset --hard HEAD^2、最後の 2 つのコミットを新しいブランチに移動するために使用することを考えました。ただし、リベースを実行すると、マスターにマージされた tade ブランチからのすべてのコミットが表示され、| それらを削除することに消極的でした。

より良い方法はありますか、それとも先に進むべきですか?

編集:意図した状態グラフを更新して、より明確にしました。2 つの新しいコミット (aaaaaaabbbbbbb) は、状態をもう少しよく説明するためだけのものです (願っています)。