shell执行git提交代码

我们在日常执行代码提交的时候最常执行的命令流程为:
git add -A
git commt -m"commit something"
git pull
git push
而在前三个步骤,大多数情况下是不会出现问题,经常性的顺序敲三个命令,是否可以偷懒一下只执行一句命令呢?我们来试一下用shell脚本执行以上三个步骤。

新建shell脚本

我们在某个路径下建一个.sh文件,为了将偷懒发挥到极致,就选择 "/" 根目录路径吧。
cd /
sudo vi gitpull.sh
英文模式下按 "i" 进入编辑模式,
考虑到每次commit要写备注,我们就用shell的传参方式实现备注信息的传入。考虑到 git pull 之后可能需要解决代码冲突,所以自动执行脚本只到 git pull 这一步而已。 脚本内容为:

msg=$1  # $1为第一个参数
git add -A
git commit -m"${msg}"
git pull
git status

按“esc”键退出编辑模式, shift + 冒号 ,输入“wq”保存退出vim 编辑器。

赋予脚本权限

此时执行脚本会报权限不足的错误,我们还需要给 .sh脚本赋予权限
chmod 755 gitpull.sh

开始偷懒吧

我们 cd 到项目里,对文件进行改动,如,新建一个 test.txt 文件
touch test.txt
查看状态:
git status
发现 text.txt 文件待 add ,开始执行我们的提交脚本吧
/gitpull.sh 提交测试文件
刷拉拉下来,完成提交以及 pull,肉眼查看没有冲突,然后就可以进行 git push 推到远程库了。

优化

以上脚本已经实现了 git add -Agit pull 的日常提交操作,有个小问题就是,当你手快忘记写注释,如
/gitpull.sh
此时执行到 git commit -m"${msg}" 是会停止的。为了更友好,我们把提示信息添加上去吧,修改脚本如下:

msg=$1
if [ -n "$msg" ]; then
   git add -A
   git commit -m"${msg}"
   git pull
   git status
   echo "完成add、commit、pull,别忘了push"
else
    echo "请添加注释再来一遍"
fi

好了,如此,在没有添加注释的时候就会有提示了 ,在需要日常提交的时候使用一下命令即可,记得最后要 push
/gitpull.sh something



作者:Mr_禤
链接:https://www.jianshu.com/p/f2df5356a539
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果您想要忽略 `.idea` 目录,可以按照以下步骤进行操作: 1. 在 Git 仓库的根目录下创建一个名为 `.gitignore` 的文件。 2. 在 `.gitignore` 文件中添加以下行: ``` .idea/ ``` 这将忽略 `.idea` 目录。 3. 将 `.gitignore` 文件添加到 Git 中,并提交更改: ``` git add .gitignore git commit -m "Add .gitignore file" ``` 4. 如果您之前已经将 `.idea` 目录添加到 Git 中,需要从 Git 中删除该目录: ``` git rm -r --cached .idea ``` 请注意, `--cached` 参数保留本地目录,而不会将其从文件系统中删除。 5. 提交更改: ``` git commit -m "Remove .idea directory" ``` 现在,Git 将忽略 `.idea` 目录,不会再将其添加到版本控制中。 ### 回答2: 在使用Git提交代码时忽略.idea文件夹是一个常见的需求。.idea文件夹是由JetBrains的开发工具(如IntelliJ IDEA、PyCharm等)自动生成的,它包含了项目的配置信息,例如项目的结构、依赖以及IDE的一些设置等。 为了忽略.idea文件夹,我们可以通过创建.gitignore文件来实现。首先,在项目的根目录下创建一个名为.gitignore的文件。然后,将以下内容添加到.gitignore文件中: .idea/ 接下来,保存并提交.gitignore文件到Git仓库。这样,在执行git add操作时,.idea文件夹就会被忽略,不会被添加到Git跟踪中。 另外,如果你已经将.idea文件夹提交Git仓库中,可以通过以下步骤将其从Git历史记录中移除: 1. 首先,确保你在项目的根目录下。 2. 执行以下命令: git rm -r --cached .idea 这个命令会将.idea文件夹从Git仓库中移除,但在本地保留。 3. 最后,执行以下命令将变更提交Git仓库: git commit -m "Remove .idea folder from Git history" 这样,.idea文件夹就会从Git的历史记录中被移除,但在开发者本地仍然存在。从现在开始,Git将会忽略.idea文件夹,不再追踪它的变化。 总之,通过在项目根目录下创建.gitignore文件,添加.idea/到其中,可以实现对.idea文件夹的忽略。同时,如果已经错误地将.idea文件夹提交Git仓库中,可以使用git rm命令将其移除。这样,我们就能够更好地管理和提交代码Git仓库中。 ### 回答3: 在git提交代码时,我们可以通过.gitignore文件来忽略某些文件或文件夹。对于.idea文件夹,它通常包含IDE(例如IntelliJ IDEA)的配置文件,如工程文件、编译器设置等。这些配置文件通常不应该纳入版本控制,因为它们是个人或特定环境相关的。 为了忽略.idea文件夹,我们首先需要在项目目录下创建.gitignore文件。打开终端或命令行工具进入项目目录,执行以下命令: ```shell touch .gitignore ``` 然后,用文本编辑器打开.gitignore文件,并在其中添加以下内容: ```shell .idea/ ``` 保存并关闭文件。这样,.idea文件夹就会被git忽略,不会包含在提交代码中。 需要注意的是,.gitignore文件只能忽略尚未纳入版本控制的文件或文件夹。如果.idea文件夹已经被git跟踪并纳入版本控制中,那么.gitignore文件将不会对其产生作用。此时,我们需要通过以下步骤从git仓库中移除.idea文件夹: 1. 执行以下命令,从git仓库中移除.idea文件夹: ```shell git rm -r --cached .idea/ ``` 2. 执行以下命令,提交变更: ```shell git commit -m "Remove .idea folder from repo" ``` 这样,.idea文件夹就会从git仓库中移除,下次提交代码时将不再包含它。 总而言之,通过在项目的.gitignore文件中添加.idea/来忽略.idea文件夹,并且如果.idea文件夹已经被git跟踪了,可以通过git rm命令将其从git仓库中移除。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值