git:如何在提交时忽略对文件的更改?

我确实在寻找解决方案,但我相信我的情况与我读过的有所不同。

我正在一个特定的分支上工作,并犯了一个错误,编辑文件的方式与分支主题无关,现在希望这些更改不会进入提交。 我不想失去这些改变,因为我会尽量在以后的其他分支上以这种或那种方式提交它们。

我试着git rm --cached但后来我看到状态deleted我的git status -将文件从资源库中删除? 我不希望这样 - 我希望它保持不变,不管它是否在我的工作分支上的前一个提交中。


如果您不进行更改,它们将不会成为提交的一部分,如下所示:

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

如果您在一个文件中有两组更改,那么您想要提交的一些文件以及您不需要的文件,请阅读该文件。

如果你已经在不想提交的文件上运行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

在终端中运行以下命令:

git update-index --assume-unchanged

要让Git重新跟踪文件,只需运行:

git update-index --no-assume-unchanged path/to/file.txt

可能的解决方案之一:

git stash
git checkout <another-branch>
git stash apply
git add <one-file>
git commit 
git stash
git checkout <original-branch>
git stash apply
链接地址: http://www.djcxy.com/p/4181.html

上一篇: git: How to ignore changes to a file when committing?

下一篇: Git: commit partial changes