Git的 - 暂时忽略对文件的一些简单的改变(Git - Temporarily ignore tr

2019-08-02 21:16发布

我正在寻找一种方式来“隐藏”在Git中的几个文件进行了细微的变化,这样它们就不会在git的状态显示,直到不同的变化,对这些文件进行。

例如:我有一个java文件,其中提出的唯一的变化是去除未使用的进口(贡献者忘了运行在提交之前的组织进口)。 现在我已经删除了导入和变更(显然)在Git中显示出来。 因为我没有其他的变化,使该文件,我真的不喜欢在提交文件作为另一个(无关)变化的一部分,或者单独犯这种变化。 当然,我可以恢复更改,只有应用它,每当我将不得不更改该文件,但我可以“风险”忘记它。

难道这样的任务的命令存在? 它的工作有点像假设未发生变化的命令,但在没有永久的方式。

什么是解决这个如果没有这样的命令可用的正确方法?

提前致谢。

Answer 1:

在我的使用情况(使用我的个人计算机上的编辑配置文件制定,与不变配置另一台机器上运行),这是对我的解决方案:

开始忽略对文件的更改:

git update-index --assume-unchanged path/to/file

再次保持跟踪:

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


Answer 2:

只是不要添加一些简单的改变。

这是很好的做法,仔细查看你提交之前添加的东西。

你甚至可以忽略文件中的一些变化,同时添加其他使用

git add -p.

如果你使用这个更加容易gitx(R) 。



Answer 3:

保持你的变化是不是在一个单独的分支准备。 git rebase此分支之上的主要历史需要新的变化。

无论是在进步发展,暂时的东西,连东西,是永远不会被包含在主体工程的历史 - 同样的过程同样适用。

如果/当分支的变化都准备好被包含在主要的历史; 在合并。如果没有,让他们在不同的分支,继续垫底。

(边注: git merge --no-ff可使用以创建一个合并提交即使一个快进合并是可能的-这取决于你的项目的规则,这可能是最好)



Answer 4:

有多种方法[虽然可能不干净,整洁,就需要您注意]

  1. 在文件中添加关注.gitignore在你的回购协议,这样它不露面提交。 小心从删除此.gitignore当你准备提交文件
  2. 确保你没有“舞台”的文件,同时提交的更改休息。 你可能想要写在包装git ,这将确保类似命令git commit -agit add . 运行在所有除下问题的文件。 另一种方法是使用git guigit citool在那里你可以直观地确保您的文件是不是在“上演”区域,因此从未被提交
  3. 另一种方式是提交所有的“可提交”更改,然后git stash save你的唯一的工作文件。 后来,当你准备好改变文件,你可以git stash pop并继续工作和承诺。

希望帮助:)



文章来源: Git - Temporarily ignore trivial changes to files
标签: git ignore