8

私は解決策を探しましたが、私の状況は私が読んだものとは少し異なると思います.

私は特定のブランチで作業していて、ブランチのテーマとは無関係な方法でファイルを編集したという間違いを犯しました。これらの変更をコミットしないようにしたいと考えています。後で別のブランチに何らかの方法でコミットしようとするので、これらの変更を失いたくありません。

試してみましたが、私のgit rm --cachedステータスが表示されます - ファイルはリポジトリから削除されますか? 私はそれを望んでいません-作業ブランチでの以前のコミットの内容から変更しないでおきたいです。deletedgit status

4

3 に答える 3

11

変更をステージングしない場合、次のようにコミットの一部にはなりません。

git status
# On branch development
# 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:   ResearchProposal.tex

ここにResearchProposal.tex変更がありますが、 によってコミットされませんgit commit

1 つのファイルに2 つの変更セットがあり、コミットしたいものとそうでないものがある場合は、このをお読みください。

git addコミットしたくないファイルで実行した場合は、次のようにする必要がありますunstage

git reset HEAD <file>

このような:

$ git add ResearchProposal.tex
$ git status
# On branch development
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   ResearchProposal.tex

$ git reset HEAD ResearchProposal.tex 
Unstaged changes after reset:
M   ResearchProposal.tex

$ git status
# On branch development
# 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:   ResearchProposal.tex
于 2013-08-29T10:35:07.387 に答える
1

考えられる解決策の 1 つ:

git stash
git checkout <another-branch>
git stash apply
git add <one-file>
git commit 
git stash
git checkout <original-branch>
git stash apply
于 2013-08-29T10:31:27.660 に答える