首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git在提交之前隐藏特定文件

Git在提交之前隐藏特定文件
EN

Stack Overflow用户
提问于 2010-12-07 21:51:21
回答 4查看 2.6K关注 0票数 4

我不确定我正在寻找的是否是一个git-stash,但这是我想要做的。

我有为本地使用定制的配置文件。这些文件已经存在于Git中。现在,如果我添加了一个新功能(更改其他文件),我想隐藏我的配置并点击commit,只提交与我的新功能相关的文件。

如果我使用git-stash,它会隐藏所有东西。如何隐藏我的配置文件(仅限)?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-12-16 07:08:03

虽然为时已晚,但我找到了一个更好的解决方案(几年前)。

使用git-assume status和git-unassume status

代码语言:javascript
复制
#!/usr/bin/env ruby

# used to ignore modified files -- e.g configuration files

ret=%x{git status --porcelain}
files=ret.lines.map { |x| x.split[1] }

files.each do |file|
  # makes files resistant to git reset hard
  %x{git update-index --skip-worktree #{file}}
  %x{git update-index --assume-unchanged #{file}}
end

对于git-unassume

代码语言:javascript
复制
#!/usr/bin/env bash

# used to ignore modified files -- e.g configuration files

cd .git
rm index
cd ..
git reset

通过这种方式,你可以修改你的配置文件,但是被status和其他git add命令忽略。如果你改变了主意,你可以运行git-unassume

票数 0
EN

Stack Overflow用户

发布于 2010-12-07 22:03:15

两件事。

  1. 您应该只暂存要提交的文件。这是使用git add完成的。即使您有大量的更改,也只能使用git add提交要提交的字段(和使用git add -p的文件片段)。你应该这么做。
  2. 除非您的配置文件是应用程序不可或缺的一部分(并且您希望对其进行版本控制),否则您应该对其进行版本控制,而不是对其进行版本控制。
票数 7
EN

Stack Overflow用户

发布于 2010-12-07 22:03:52

使用git add -p并仅选择要提交的更改。无论如何,这是一个很好的实践,因为它起到了代码审查的作用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4377309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档