如果文件已更新,有没有办法轻松地将其提交到 git?
我想获取目录中的文件列表,将其写入文本文件,并在更改后将其提交给 git。我假设这会涉及一个创建列表的 shell 脚本,然后运行该脚本,git add [file]
但git commit -m "Updating"
我想确保如果我在 cron 脚本中运行它,它不会中断。
谢谢!
答案1
您可以简单地添加所有更新的文件
git add -u
<文件模式>
参见手册:
仅
<filepattern>
与索引中已跟踪的文件匹配,而不是与工作树匹配。这意味着它永远不会暂存新文件,但会暂存已跟踪文件的修改后的新内容,并且如果工作树中的相应文件已被删除,它将从索引中删除文件。如果没有
<filepattern>
给出,则默认为“。”;换句话说,更新当前目录及其子目录中所有跟踪的文件。
这样做的好处是只添加实际更改的文件,而不添加尚未编入索引的文件。
然后,只需按照您所提议的那样执行这些更改即可。
答案2
如果问题是始终添加此单个文件,即使您想手动添加其他文件,则此解决方案适用:
有钩子。例如,您可以在.git/hooks
目录中创建一个 shellscript 并命名它pre-commit
(不要忘记使其可执行)。您可以在该文件中添加类似 的内容git add -u $GIT_WORK_TREE/filename
。这将在提交更改时始终自动添加该文件。
该$GIT_WORK_TREE
部分是指您存储文件的位置。