小编Hoy*_*man的帖子

在bash中,如何在字符串中插入$(...)?

我正在尝试编写一个bash脚本,在我的实时站点的数据库上执行mysqldump,然后添加并将转储提交到git存储库.这是我到目前为止(存储在一个由crontab条目调用的.sh文件中):

/usr/bin/mysqldump --skip-comments --skip-dump-date -u [user] -p[pass] database | gzip > /var/www/site/backup/database.sql.gz
cd var/www/site/backup && git add *
cd var/www/site/backup && git commit -m 'Database $(date +%a %H:%M %h %d %Y)'
Run Code Online (Sandbox Code Playgroud)

我的crontab条目如下所示:

0,20,40 8-22 * * * /var/www/site/backup/script.sh
Run Code Online (Sandbox Code Playgroud)

我可以看到这个脚本会转储数据库,但不会将文件添加或提交给git.有什么东西我错过了吗?

编辑=================================

我做了以下更改,提交工作:

cd /var/www/site/backup && /usr/bin/git add *
cd /var/www/site/backup && /usr/bin/git commit -m 'Database $(date +%a %H:%M %h %d %Y)'
Run Code Online (Sandbox Code Playgroud)

但是,日期不会计算.

编辑=================================

最新修订,包括(大部分)建议

/usr/bin/mysqldump --skip-comments --skip-dump-date -u [user] -p[pass] database > /var/www/site/backup/database.sql
cd var/www/site/backup
/usr/bin/git add *
/usr/bin/git commit -m …
Run Code Online (Sandbox Code Playgroud)

bash shell string-interpolation

23
推荐指数
1
解决办法
1万
查看次数

如何在git中移动master返回几个提交?

我有一个git存储库,它拥有一个Drupal站点.我花了最后一天尝试使用几个不同的模块来构建一个功能.我放弃了目前的做法,决定尝试不同的模块组合.但是,我的存储库在主分支上有几个提交包含这个功能开发过程(我知道我没有以有效的方式分支.)我想摆脱最后的三个或四个提交并将master设置为我的历史(我不想将我目前的工作与任何东西合并,我只是想让它消失.)我该怎么做?

git git-reset

21
推荐指数
2
解决办法
2万
查看次数

git remove语句中dollar-sign的目的是什么?

我一直在寻找从我的git存储库中删除所有已删除文件(我在本地文件系统中删除)的方法.我找到的命令是这样的:

git rm $(git ls-files -d)
Run Code Online (Sandbox Code Playgroud)

这是我第一次在git命令中看到$(...).$(...)在这个命令中做了什么?

git delete-file

2
推荐指数
1
解决办法
884
查看次数

如何删除自上次git提交以来的更改

这可能是一个简单(但令人恼火)的问题.如何删除所有更改删除自上次提交后的更改?我修补了一个补丁,我想回到上一次提交时的情况.

我试过了:

git reset - 硬主人

git checkout master

但是我没有删除我添加/更改的文件夹的文件夹(它们仍然列为未跟踪的文件.)

git revert

2
推荐指数
1
解决办法
1973
查看次数

当我们在Linux服务器上安装git时,为什么要为程序(如git)创建新用户?

我正在阅读如何在VPS Linux服务器上安装git.列出的第一步是为git创建一个新用户(通常命名为'git'.)我对Linux服务器管理相当新,我对为程序创建新用户的想法感到有些困惑.似乎程序本身成为用户并且被系统视为用户,与当前的人类用户分开.

为什么要这样做,我应该如何看待这个新用户?我试图摆脱用户使用程序的旧观念,以接受Linux使用的更广泛的用户概念.

在以"git"用户身份登录时,是否需要执行所有与GIT相关的活动(例如推拉?)

linux git

0
推荐指数
1
解决办法
40
查看次数