いいえ、違いはありません。 git reset --soft
(つまり、できhave other more practical uses)
git reset HEAD
は "unstaging" のためであり、それはデフォルトのオプションですので、簡単なgit reset HEAD^
は、()、、
を
--mixed
の必要性をHEADを移動しないで、とunstageんどちらも、唯一のヘッドを移動させます(あなたは「
wip
」を犯しあなただけのバック機能に切り替えて、 - 進行中の作業)をする前に
:ここ
は、それがどのように見えるかを確認するには、簡単なテストである
C:\Users\VonC\prog\git\test\r\r3>gl
* 6ac95bd - (origin/master, origin/HEAD, master) fix in master (2 minutes ago) <VonC>
| * fd8d97d - (HEAD, origin/feature, feature) snap WIP (3 minutes ago) <VonC>
| * 16066dd - f1 (3 minutes ago) <VonC>
|/
* e8ad96f - f1 (3 minutes ago) <VonC>
リセット自体:
C:\Users\VonC\prog\git\test\r\r3>git reset "HEAD^"
Unstaged changes after reset:
M f
あなたのステータスを与える:2つの段階でgit reset HEAD^
C:\Users\VonC\prog\git\test\r\r3>gl
* 6ac95bd - (origin/master, origin/HEAD, master) fix in master (6 minutes ago) <VonC>
| * fd8d97d - (origin/feature) snap WIP (7 minutes ago) <VonC>
| * 16066dd - (HEAD, feature) f1 (7 minutes ago) <VonC>
|/
* e8ad96f - f1 (8 minutes ago) <VonC>
後
C:\Users\VonC\prog\git\test\r\r3>git st
# On branch feature
# Your branch is behind 'origin/feature' by 1 commit, and can be fast-forwarded.
# (use "git pull" to update your local branch)
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: f
#
no changes added to commit (use "git add" and/or "git commit -a")
ログ、あなたが見ているだろうの後に続くログ:
C:\Users\VonC\prog\git\test\r\r2>gl
* 6ac95bd - (origin/master, origin/HEAD, master) fix in master (65 seconds ago) <VonC>
| * fd8d97d - (origin/feature) snap WIP (89 seconds ago) <VonC>
| * 16066dd - (HEAD, feature) f1 (2 minutes ago) <VonC>
|/
* e8ad96f - f1 (2 minutes ago) <VonC>
あなたのインデックスがまだwip
のために上演されたものを反映します:
C:\Users\VonC\prog\git\test\r\r2>git st
# On branch feature
# Your branch is behind 'origin/feature' by 1 commit, and can be fast-forwarded.
# (use "git pull" to update your local branch)
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: f
#
リセットが、その後unstagedでしょう、git reset HEAD^
は1つのステップでなければならないよりも、同じステージに戻ってあなたをもたらす:
C:\Users\VonC\prog\git\test\r\r2>git reset
Unstaged changes after reset:
M f
C:\Users\VonC\prog\git\test\r\r2>git st
# On branch feature
# Your branch is behind 'origin/feature' by 1 commit, and can be fast-forwarded.
# (use "git pull" to update your local branch)
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: f
#
no changes added to commit (use "git add" and/or "git commit -a")
確認していただきありがとうございます。そして確かにgit reset --softの他の用途があります。 (最も基本的なケースでは、単にインデックスをリセットする理由がないこともよくあります。その場合、--softはファイルを再作成する必要がありません)。しかし、2つのとにかくインデックスをリセットする予定がある場合は、段階的なプロセスです。なぜ必要以上の文字を入力するのですか? –
@NathanStretch私は同意します。 (あなたが進めていくべき進化を成し遂げた作業をコミットした場合や、*別々にステージングするべき他の進化*:それからあなたはすべてを止めて、あなたのwipで最初にコミットしたい。 – VonC