在 Git 中逐个提交。

3

git add -p 允许您逐个遍历每个修改的文件。

我需要一个类似的版本,但它需要允许您逐个暂存文件。我希望能够暂存并提供提交消息。


3
你的问题非常不清楚,不太清楚你想要达到什么目标。 - Andrew Marshall
我同意安德鲁的观点。你想为每个文件单独设置消息吗?请详细说明。 - Jeremy Whitlock
可能是重复的问题:git:提交多个文件但添加消息 - Josh Lee
3个回答

5
我认为你需要使用-o开关,例如:
git commit -o file1

是的,这就是 OP 想要的,一个单一的命令来添加并提交一个文件。 - idlethread
使用此选项可以列出您要提交的所有文件。git commit -o file1 file2 file3也是允许的...而且这不仅限于三个文件。 - Igbanam
有趣的事实:git commit -o file1 可以绕过 .gitignore 文件。可能存在安全问题? - Igbanam

3

所以你想做这件事吗?

git add <file1>
git commit [-m "message"]
git add <file2>
git commit [-m "message"]
...

@David 如果你在git中这样做,提交是本地的,甚至可以在其他人看到之前使用git rebase -i进行必要的调整,因此没有必要在单个命令中完成所有操作,如果这是你担心的问题。如果你真的想在一个命令中完成所有操作,我猜你可以编写一个小脚本来遍历某种形式的git status输出,对每个文件调用git addgit add -p,然后调用git commit(不带-m)让你在文本编辑器中指定消息。 - Tyler

0
这是一个我用来快速处理git状态中所有修改项的小技巧。我们逐个提交,这样我就可以为每个提交添加注释。
for each_git_file in
`git status | egrep 'modified|new file' | awk -F: '{print $2}' | sed 's/[\W\.]*//'`;
 do
     git commit -o $each_git_file;
 done

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接