編集

2017-01-26 8 views
0
私はfeatureXを実装する

を退治した後にメッセージをコミットし、私はその後、私はいくつかの変更を行っていると編集

git commit -m "yo1" 

によってコミット

git commit -m "featureX" 

ことによってそれを書き込んだ後、それを犯したことによってコミット押しつぶさ

再び
git rebase -i HEAD~2 

いくつかの変更と

によってコミット
git commit -m "yo1" 

今すぐ

git rebase -i HEAD~3 

によってコミットgitのログショーを押しつぶし -

featureX 
yo1 
yo2 

私は、メッセージYO1およびYO2 change1するとCHANGE2をコミット変更したいです。

また、yo1とyo2で行った変更を忘れているため、私はyo1とyo2で行った変更をどのように確認できますか。

答えて

0

スカッシュはすべてのコミットを1つにまとめるので、元の変更を知ることはできません。

git commit --amend -m "New commit message" 

を最新のコミット修正するには:それはあなたが最後のコミットまたはinteractive rebaseと編集オプションを使用でき

Git commit --amend 
0

amendとの説明をコミット変更することができる新しいコミット

を作りますスカッシュコミットはオールインワン squashedコミットであるためです。そのHEADを編集するために

0

(現在のコミット)あなたが

git commit --amend 

を使用することができます。また、私はどのように私はYO1およびYO2

で行われた変更を見ることができることを知ってほしいです最新のコミットの内容を確認し、更新するために

それ

git commit --amend --verbose 

与えられたのコンテンツを見るために あなたは手段あなたのコミットのための新しいハッシュIDを生成し、あなたのコミット単一のもので、変更をコミットマージコミット退治

git show <sha-1> 

enter image description here

1

を使用することができますコミット。コミットメッセージyo1とyo2を持つコミットに関するコミットツリーのすべての情報が失われています(featureXでマージされています)。

コミットハッシュIDを知っていて、gitがガベージコレクションを行っていない場合でも、まだそれらを見ることができます。彼らは依然としてあなたの枝から物として切り離されて横たわっているでしょう。

Do git reflogあなたのコミットメッセージ(yo1またはyo2)に関連付けられたハッシュIDを調べます。

次に、git show hashid#を入力すると、そこに行ったコミットの変更が表示されます。

あなたは単にコミットメッセージを変更したい場合は、それははるかに簡単であると

または

を--amendコミットGitのリベースのいずれかやって

のgitによって達成することができます - i HEAD〜1(-iは対話モードを表します)