Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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_Batch File_Command Line_Git Commit - Fatal编程技术网

自动执行多个文件的git提交

自动执行多个文件的git提交,git,batch-file,command-line,git-commit,Git,Batch File,Command Line,Git Commit,我有一个文件集合,我想使用批处理脚本自动添加并提交到git。 添加不是一个大问题,因为我可以单独添加它们。但我不想单独提交它们,因为这会使git存储库中充斥着提交 一种方法是: git commit -a -m ... 这将承担一切。但这也不是很实用,因为我会提交其他我不一定要提交的文件 我要提交的文件可通过以下方式找到: dir <some_path> /b /s /A-D /o:gn 目录/b/s/A-D/o:gn 有没有办法将此文件列表放入git commit命令中? 完

我有一个文件集合,我想使用批处理脚本自动添加并提交到git。 添加不是一个大问题,因为我可以单独添加它们。但我不想单独提交它们,因为这会使git存储库中充斥着提交

一种方法是:

git commit -a -m ...
这将承担一切。但这也不是很实用,因为我会提交其他我不一定要提交的文件

我要提交的文件可通过以下方式找到:

dir <some_path> /b /s /A-D /o:gn
目录/b/s/A-D/o:gn 有没有办法将此文件列表放入git commit命令中?

完整脚本:

>  FOR /F "delims=" %%a in ('dir <some_path> /b /s /A-D /o:gn') do CALL git add %%a -f

> git commit (Some list of files) -m <Some message>
>对于/F“delims=“%%a in('dir/b/s/a-D/o:gn'),请调用git add%%a-F
>git提交(一些文件列表)-m
显而易见的方法是将
(一些文件列表)
替换为
('dir/b/s/A-D/o:gn')
,但这会产生一个错误:
致命:/b:'b'在存储库之外

我怎样才能实现我想要的

谢谢


汤姆

和其他人一样,我对你的术语有点困惑:

有一个
git add
操作,它添加到索引中,并“等待”直到发出
git commit

脚本应该是:

git add file1
git add file2
...
git add fileN
# no need to pass a list of files there :
git commit -m ...

这就是你要找的吗?

和其他人一样,我对你的术语有点困惑:

有一个
git add
操作,它添加到索引中,并“等待”直到发出
git commit

脚本应该是:

git add file1
git add file2
...
git add fileN
# no need to pass a list of files there :
git commit -m ...

这就是您要查找的内容吗?

git commit
通常会提交索引中的所有文件(因此,您以前使用
git add
添加到下一次提交更改列表中的所有文件)

因此,您不必在git commit之后指定文件名

如果您担心在运行git add之前索引中已经有其他文件,可以在脚本的最开始运行
git reset--.

这将撤消任何以前未提交的
git add
命令,确保在干净的索引上启动自己的
git add
s


PS:这些命令都不会更改任何文件,它们只会更改是否考虑提交这些文件。

git commit
通常会提交索引中的所有文件(因此您以前添加到更改列表中的所有文件,以便下次使用
git add
提交)

因此,您不必在git commit之后指定文件名

如果您担心在运行git add之前索引中已经有其他文件,可以在脚本的最开始运行
git reset--.

这将撤消任何以前未提交的
git add
命令,确保在干净的索引上启动自己的
git add
s


PS:这些命令都不会更改任何文件,它们只会更改是否考虑提交这些文件。

不确定这里的问题到底是什么,因为您首先声明添加这些文件不是问题,然后继续说明您不知道如何正确添加它们。你能澄清一下吗?“因为我会提交我不一定要提交的其他文件”是什么将它们归类为不提交的候选文件,也不存在于
.gitignore
中?我希望有一个批处理文件,可以读取一组文件,并将它们与一条消息一起提交。添加是没有问题的,因为我可以循环使用它们。但是循环和提交会导致许多我想要避免的单一提交。因此,我想自动将文件列表放入git commit命令中,并将它们一起提交。但是,我不知道如何执行此操作。我不想提交不在指定列表中的文件。可能是因为我还在处理其他文件。首先要提到的是,在对没有目录属性的项目进行排序时,似乎没有必要首先对目录进行分组!。您似乎试图实现的是将
dir
返回的文件列成一行,而不是多行。这就是你想问的吗?你应该在这个网站上找到几个问题和答案,虽然搜索删除换乘或换乘可能更容易,但这些答案中的大多数将使用
set/p
。每个页面的顶部都有搜索功能。不确定这里的问题到底是什么,因为您首先声明添加它们不是问题,然后继续说明您无法找到如何正确添加它们。你能澄清一下吗?“因为我会提交我不一定要提交的其他文件”是什么将它们归类为不提交的候选文件,也不存在于
.gitignore
中?我希望有一个批处理文件,可以读取一组文件,并将它们与一条消息一起提交。添加是没有问题的,因为我可以循环使用它们。但是循环和提交会导致许多我想要避免的单一提交。因此,我想自动将文件列表放入git commit命令中,并将它们一起提交。但是,我不知道如何执行此操作。我不想提交不在指定列表中的文件。可能是因为我还在处理其他文件。首先要提到的是,在对没有目录属性的项目进行排序时,似乎没有必要首先对目录进行分组!。您似乎试图实现的是将
dir
返回的文件列成一行,而不是多行。这就是你想问的吗?你应该在这个网站上找到几个问题和答案,虽然搜索删除换乘或换乘可能更容易,但这些答案中的大多数将使用
set/p