当前路径对某些git操作重要吗?
比如说,我的git repo(即当前路径对某些git操作重要吗?,git,path,commit,relative-path,patch,Git,Path,Commit,Relative Path,Patch,比如说,我的git repo(即.git文件夹)位于~/my\u project/中。还假设我的项目文件夹是这样组合的: my_project | |____src | |__com | |__org 最后,假设我想准备提交com文件夹。我至少可以用两种方式来做: albus@hogwarts:~/myu项目$git add src/com albus@hogwarts:~
.git
文件夹)位于~/my\u project/
中。还假设我的项目文件夹是这样组合的:
my_project
|
|____src
|
|__com
|
|__org
最后,假设我想准备提交com
文件夹。我至少可以用两种方式来做:
albus@hogwarts:~/myu项目$git add src/com
albus@hogwarts:~/my\u project/src$git add com
git格式补丁
或git-am
呢?它们是否依赖于当前路径
人们可能会嘲笑我的问题,但事实是,我的一位同事说,他们在应用某些补丁时遇到了问题,即,他们必须从项目路径中的不同目录应用它们。他们还建议我从最上面的项目文件夹执行所有git命令(即本例中的my_project
)。我从来没有想过这可能是真的,但我不是git的专家,所以我在这里问它
谢谢
git-format-patch
无论您在何处运行该命令,都会创建相同的补丁。唯一改变的是补丁文件的生成位置
但是不同的命令行为不同,这也取决于应用于它们的标志
例如,git diff
具有--relative
标志:
--相对[=
]
从项目的子目录运行时,可以告诉它排除目录外的更改,并显示相对于项目的路径名
它使用这个选项。当您不在子目录中时(例如,在
裸存储库),您可以指定要生成输出的子目录
通过给出一个参数作为论据相对于
好的,我刚刚检查了
格式补丁
(你可以这样做,因为git是分散的,你可以随时随地创建回购协议)。不管你在哪个目录下,它都会给出相同的输出,文件都是相同的。是的,你说得对,我可以自己试试,但专家的知识总是值得一听的。