使用Git修改文件的本地克隆

使用Git修改文件的本地克隆,git,Git,我正在寻找一种方法来复制克隆目标中已修改/未提交的更改(分阶段或非阶段) 如果能修改一个-,那将是一个好主意,还是一个坏主意?你不能这样做,这将是一件非常奇怪的事情。Git的数据模型是在提交的基础上工作的,当您在本地和远程存储库之间传输数据时,实际上就是在复制提交和标签 这本质上意味着,为了将任何内容传输到不同的存储库,您需要提交这些更改。这是一件好事,因为提交在存储库中是固定不变的。未提交的更改不是,因此正确引用它们非常困难。这将是一个巨大的混乱。此外,您将完全破坏提交背后的意图,因为您可以在

我正在寻找一种方法来复制克隆目标中已修改/未提交的更改(分阶段或非阶段)


如果能修改一个-,那将是一个好主意,还是一个坏主意?

你不能这样做,这将是一件非常奇怪的事情。Git的数据模型是在提交的基础上工作的,当您在本地和远程存储库之间传输数据时,实际上就是在复制提交和标签

这本质上意味着,为了将任何内容传输到不同的存储库,您需要提交这些更改。这是一件好事,因为提交在存储库中是固定不变的。未提交的更改不是,因此正确引用它们非常困难。这将是一个巨大的混乱。此外,您将完全破坏提交背后的意图,因为您可以在不提交的情况下突然转移更改,而不必刻意选择“封存”包含作者信息和解释的更改包

最后,特别是在克隆时,您正在克隆远程存储库。在大多数情况下,这样的远程存储库是一个裸存储库,因此没有工作目录。因此,无论如何,它也无法进行未提交的更改


因此,不,这不是一个好主意,而且它也可能无法正常工作。

好吧,目标是编写一个脚本,相当于自动工具的“distcheck”,即复制tarball中的所有已知文件,并检查构建工作(无需提交,我的意思是在运行测试之前是否提交?否)。因此,该脚本将在临时目录中创建一个副本/链接,它并不意味着是一个工作目录。尽管我应该能够通过
git ls文件非常有效地实现这一点——递归子模块,而不是“我的意思是在运行测试之前提交吗?不”–我可以在不提交的情况下运行本地测试。在我提交并推送之后,测试服务器上的测试将使用CI运行。这就是功能分支的用途。
git clone --shared src dest