首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Git提交bash脚本

Git提交bash脚本
EN

Stack Overflow用户
提问于 2011-12-13 08:23:43
回答 6查看 65.1K关注 0票数 41

我正在编写一个bash脚本来添加、提交、推送一个目录中的所有文件。

代码语言:javascript
复制
#!/bin/bash  
git add .  
read -p "Commit description: " desc  
git commit -m $desc  
git push origin master

我得到以下错误:

代码语言:javascript
复制
$ ./togithub  
Commit description:   
test commit script  
error: pathspec 'commit' did not match any file(s) known to git.  
error: pathspec 'script"' did not match any file(s) known to git.  
Everything up-to-date

我不确定这是读入文本(it echo很好)还是传递给git commit -m的问题。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-12-13 08:27:27

你需要做的是:

代码语言:javascript
复制
git commit -m "$desc"

在当前脚本中,test将作为提交消息,而commitscript将被视为下一个参数。

票数 56
EN

Stack Overflow用户

发布于 2012-04-01 10:22:47

以下是最后两个答案的合并-将add -u链接在一起很棒,但嵌入式read命令给我带来了麻烦。我选择了(我的heroku推送的最后一行,如果这是你的方法,改成'git push origin head‘):

代码语言:javascript
复制
#!/bin/bash
read -p "Commit description: " desc
git add . && \
git add -u && \
git commit -m "$desc" && \
git push heroku master
票数 18
EN

Stack Overflow用户

发布于 2011-12-13 08:42:13

从索引中删除实际已删除的文件是很有帮助的。git add -u会处理这件事。此外,您可能需要考虑将这些命令链接在一起,如下所示:

代码语言:javascript
复制
git add . && \
git add -u && \
git commit -m "$(read -p 'Commit description: ')" && \
git push origin HEAD

如果任何命令失败,它将停止评估其余命令。

只是思考的食物(未经测试的食物)。

谢谢!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8482843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档