Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 我如何管理我不知道的更改';我不想推吉特?_Git - Fatal编程技术网

Git 我如何管理我不知道的更改';我不想推吉特?

Git 我如何管理我不知道的更改';我不想推吉特?,git,Git,有时我需要对我的本地树进行更改,而我从来都不想推动这些更改。这些可能只是对运行测试的脚本的攻击。当我在本地树中进行此更改时,我可能会提交其他真正的更改 问题是: 如果我没有进行黑客攻击,那么我必须小心使用commit-a 如果我没有提交黑客,那么很难看到我是否做了更改,我确实想提交到同一个文件 如果我真的实施了黑客攻击,那么我必须小心不要推动它 现在我正在进行黑客攻击,提交描述提醒我不要强迫他们。然后,当我工作并积累真正的变化时,我会将这些变化重新定位到分支机构的负责人 有更好的方法来管理这

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

问题是:

  • 如果我没有进行黑客攻击,那么我必须小心使用
    commit-a
  • 如果我没有提交黑客,那么很难看到我是否做了更改,我确实想提交到同一个文件
  • 如果我真的实施了黑客攻击,那么我必须小心不要推动它
现在我正在进行黑客攻击,提交描述提醒我不要强迫他们。然后,当我工作并积累真正的变化时,我会将这些变化重新定位到分支机构的负责人

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

使用
--假设未更改
来标记要(暂时)忽略以提交的文件:

git update-index --assume-unchanged <file>
git更新索引--假定未更改
然后,您可以取消标记:

git update-index --no-assume-unchanged <file>
git更新索引——无假设不变
使用
--假定未更改
将文件标记为(暂时)忽略以提交:

git update-index --assume-unchanged <file>
git更新索引--假定未更改
然后,您可以取消标记:

git update-index --no-assume-unchanged <file>
git更新索引——无假设不变

使用:git Stash隐藏它们
然后,您可以进行真正的更改,提交并在以后取消发布hack更改(如果需要)

使用:git Stash隐藏它们
然后,您可以进行真正的更改,提交并在以后取消发布hack更改,如果您愿意的话。

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

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

someMethod() {
   doWork();
   if (readConfig().isDirtyHacksEnabled()) {
       dirtyHack();
   }
   doSomeOtherWork();
}
这种方法允许您在计算机和远程服务器(或任何您想要的地方)上拥有不同的配置文件。 在git中,应使用以下命令忽略此特定配置文件:

git update-index --skip-worktree <path_to_file>
git更新索引--跳过工作树
因此,您可以在git中跟踪脚本文件的更改,而黑客只能在您的计算机上启用。 不要将
--跳过工作树
--假定未更改
混淆。
当您设置最新标志时,您承诺git不会做任何更改,因此git可以跳过检查文件的索引,并在文件太大或文件系统太慢时节省一些时间。

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

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

someMethod() {
   doWork();
   if (readConfig().isDirtyHacksEnabled()) {
       dirtyHack();
   }
   doSomeOtherWork();
}
这种方法允许您在计算机和远程服务器(或任何您想要的地方)上拥有不同的配置文件。 在git中,应使用以下命令忽略此特定配置文件:

git update-index --skip-worktree <path_to_file>
git更新索引--跳过工作树
因此,您可以在git中跟踪脚本文件的更改,而黑客只能在您的计算机上启用。 不要将
--跳过工作树
--假定未更改
混淆。
当您设置最新标志时,您承诺git不会进行任何更改,因此,如果文件太大或文件系统太慢,git可以跳过对文件索引的检查,从而节省一些时间。

您知道git中的“隐藏”功能吗?
git commit--amend
是您在案例中可能需要的功能您知道git中的“隐藏”功能吗?
git commit--amend
是您在应用程序中可能需要的功能caseI猜想这就是答案:“在git中,不可能忽略文件中的某些更改,但可以跟踪其他更改。”感谢您建议使用配置来管理黑客行为。我认为在某些情况下,这是一种很好的技巧,但实际上并不是我想要的。我真的不想让代码签入。我想这就是答案:“在git中,不可能忽略文件中的某些更改,但可以跟踪其他更改。”感谢您建议使用配置来管理黑客行为。我认为在某些情况下,这是一种很好的技巧,但实际上并不是我想要的。我真的不想把代码签入。