首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何管理我不想推入git的更改?

如何管理我不想推入git的更改?
EN

Stack Overflow用户
提问于 2016-01-28 19:27:58
回答 3查看 549关注 0票数 0

有时,我需要改变我的本地树,我从来不想推动。这些可能只是对运行测试的脚本的黑客攻击。虽然我在本地树中有此更改,但我可能会提交其他真正的更改。

问题是:

  • 如果我不提交黑客攻击,那么我必须小心使用commit -a
  • 如果我不提交黑客,那么很难看出我是否已经做了一个更改,我确实想提交到同一个文件。
  • 如果我确实实施了黑客攻击,那么我必须小心不要推它。

现在我用提交描述提醒我不要推他们。然后,当我工作和积累真正的变化时,我将黑客重新定位到我的分支机构的头上。

有更好的方法来管理这样的变化吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-28 20:08:48

在git中,不可能忽略文件中的某些更改,而是跟踪文件中的其他更改。一般来说,这类问题应该通过应用程序的配置来解决。我的意思是,如果你有黑客,它们不应该被硬编码成那样(不知道你用的是哪种语言,所以这是一些伪代码):

代码语言:javascript
运行
复制
someMethod() {
   doWork();
   dirtyHack();
   doSomeOtherWork();
}

您最好有一个配置文件来描述是否应该在当前配置中执行hacks。因此,代码可以这样修改:

代码语言:javascript
运行
复制
someMethod() {
   doWork();
   if (readConfig().isDirtyHacksEnabled()) {
       dirtyHack();
   }
   doSomeOtherWork();
}

这种方法允许您在计算机和远程服务器(或任何您想要的地方)上有不同的配置文件。在git中,应该使用以下命令忽略这个特定的配置文件:

代码语言:javascript
运行
复制
git update-index --skip-worktree <path_to_file>

因此,您可以在git中跟踪脚本文件的更改,而黑客只能在您的机器上启用。不要将--skip-worktree--assume-unchanged混淆。当您设置最新的标志时,您承诺git不会做任何更改,这样git就可以跳过检查文件的索引,并在文件很大或文件系统缓慢时节省一些时间。

票数 2
EN

Stack Overflow用户

发布于 2016-01-28 19:30:56

使用--assume-unchanged标记要(暂时)忽略的文件,以便提交:

代码语言:javascript
运行
复制
git update-index --assume-unchanged <file>

然后,您可以用以下方式取消标记:

代码语言:javascript
运行
复制
git update-index --no-assume-unchanged <file>
票数 1
EN

Stack Overflow用户

发布于 2016-01-28 19:32:10

使用: git存储它们,然后您可以进行真正的更改,提交,然后如果您愿意的话,可以取消隐藏黑客更改。

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

https://stackoverflow.com/questions/35070295

复制
相关文章

相似问题

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