2011-10-09 48 views
1

说,我有我的git回购(.git文件夹)位于~/my_project/。还假设我的项目的文件夹组装这样的:目前的路径是否适合某些git操作?

所有的
my_project 
     | 
     |____src 
      | 
      |__com 
      | 
      |__org 

最后,假设我想阶段提交com文件夹。我可以做到这一点至少在两个方面:

会不会有两个调用之间有什么区别?那么git format-patchgit am?他们是否依赖当前的路径?

人们可以在我的问题劳特,但事实是,我的一个同事说,他们已经将一些补丁,他们不得不在不同的目录中的项目路径应用这些麻烦,即。他们还建议我应该从最上面的项目文件夹执行所有git命令(例如,在本例中为my_project)。我从来没有在这方面可能有真理,但我不是专家,git出现在图片中,因此我在这里提问。

谢谢!

+1

嗯,我刚刚检查过'format-patch'(你可以这样做,感谢git被分散,你可以随时随地创建repo)。无论你在哪个目录下,它都提供相同的输出,文件是相同的。 – dmedvinsky

+0

是的,你是对的,我*可以*自己尝试,但专家的知识总是值得听的。 –

回答

3

git format-patch创建只要你运行该命令相同的修补程序。只有变化的是,其中补丁文件生成。

但不同的命令行为不同,这也取决于施加给它们的标志。

例如,git diff具有--relative标志:

--relative [= <path>]

当从项目的子目录运行,它可以告诉排除目录之外的变化和使用此选项显示相对于 的路径名。如果不在子目录中(例如,在 裸存储库中),则可以通过给出一个参数来命名将哪个子目录作为输出 的相对位置。