2017-04-26 19 views
-1

さらに開発した後、以前のコミットに変更を追加する必要があります。私は新しいファイルを作成し、そのハンドルファイルをリネームし、IDEからを含む多くの変更を行った"git add"なし/ステージングエリアを変更する "git commit --amend"

など

のでgit statusは、ステージング領域内のファイルの多くを示しています。

私はgit commit --amend --no-messageとこのファイルを追加しません。

これらのファイルをgit commit --amend --no-messageの引数としてリストできますか?インデックスを乱すことなく他の可能性?

は、私は、インデックスをスタッシュを考える - 私が簡単に(と明らかに)解決策た実験の後....

+0

ファイルをステージング解除するには 'git reset'を使います。 –

+0

IDEは新しいファイルを追加するのに役立ちます。古いファイルの名前を変更すると、その作業を失いたくありません。 – gavenkoa

+0

16k +でIDEのすべてに頼っていますか?とにかく、 'git reset'はあなたの仕事を変えることはありませんが、状態を「ステージング」から「ステージング解除」に変更するだけです。 –

答えて

0

改正のための代わりに2つのファイルを無視する40個のファイルを一覧表示するには複雑なものである:

$ echo x >> file1 
$ echo x >> file2 
$ echo y >> fileZZZ 

(1)$ git add . 

(2)$ git ci -m fix file1 

(3)$ git commit --no-edit --amend file2 

(1)には、インデックスが入力されます。 (2)私はインデックスに他のすべて(file2fileZZZ)を残して、必要なファイルをコミットします。(3)file2の紛失を追加して、インデックスにfileZZZを残します。

Gitでは、ステージング領域がないかのように作業することができます。

1

ほとんどのIDEはステージング領域を実際のGit操作に反映します。 (私はVSのコードを使用していて、それはありません。)そう、とのすべてのファイルunstage最初:次に

git reset . 

は、git addまたはIDEのボタンで上演されるようにあなたのファイルを設定します。 IDEインターフェイスに応じて、ファイルのプラスボタンが必要です。

最後に、git commit --amend --no-messageを実行します。セマンティクスは通常のコミットと同じでなければなりません。


上記の方法を理解できない場合は、コミットを縮小するための対話型リベースを実行することも役立ちます。 How to modify existing, unpushed commits?

関連する問題