如何切换分支时摆脱子模块.我不明白为什么git clean说它删除了子模块但没有.这是一个错误吗?下面是剪切和粘贴步骤来重现.
git --version
git version 1.7.8.4
git init submod
cd submod
echo "This is a submodule" > README.txt
git add .
git commit -m "Initial commit"
cd ..
git init prog
cd prog
echo "This is a program" > README.txt
git add .
git commit -a -m "Initial commit"
git checkout -b topic1
git submodule add ../submod
git commit -m "Added submodule"
git checkout master
#warning: unable to rmdir submod: Directory not empty
#Switched to branch 'master'
git status …Run Code Online (Sandbox Code Playgroud) 仍在努力学习如何使用Gerrit及其过程.我在哪里做的步骤
change1推动gerrit审查HEAD:refs/for/developchange2gerrit审查HEAD:refs/for/develop两个提交都有gerrit Change-ID行
所以现在我想解决问题,change1所以我做了
git checkout -b change1 <change 1's commit id>
Run Code Online (Sandbox Code Playgroud)
做出我的更改并提交(将Change-ID添加到提交消息)
git add .
git commit
Run Code Online (Sandbox Code Playgroud)
现在当我这样做
git push origin HEAD:refs/for/develop
Run Code Online (Sandbox Code Playgroud)
我明白了
! [remote rejected] HEAD -> refs/for/develop (squash commits first)
error: failed to push some refs to 'ssh://adrian@192.168.7.100:29418/CommunicationsLibrary'
Run Code Online (Sandbox Code Playgroud)
如何解决堆叠评论中的问题并将其发布到gerrit而无需创建另一个评论?
我的计划是使用git来跟踪/ etc中的更改但是在提交时我希望让进行更改的人通过在命令行上添加--author选项将自己指定为作者.
所以我想以root身份停止意外提交.
我尝试创建这个预提交钩子但它不起作用 - 即使我在提交行上指定了作者,git var仍然会返回root.
AUTHOR=`git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/\1/p'`
if [ "$AUTHOR" == "root <root@localhost>" ];
then
echo "Please commit under your own user name instead of \"$AUTHOR\":"
echo 'git commit --author="Adrian"'
echo "or if your name is not already in logs use full ident"
echo 'git commit --author="Adrian Cornish <a@localhost>"'
exit 1
fi
exit 0
Run Code Online (Sandbox Code Playgroud) 除非我确定,否则我想阻止自己意外地向主分公司提交一些东西.所以我尝试使用这个脚本来确定我所在的分支但存在问题.当我创建一个新的分支git name-rev返回master时,即使我在另一个分支上
$ git branch
ignore
master
* set_support
$ git name-rev --name-only HEAD
master
Run Code Online (Sandbox Code Playgroud)
这是我的剧本.
#!/bin/sh
# Check to see if we are on master branch. Stop accidental commits
if [ "`git name-rev --name-only HEAD`" == "master" ]
then
if [ -f i_want_to_commit_to_master ]
then
rm i_want_to_commit_to_master
exit 0
else
echo "Cannot commit to master branch Adrian"
echo "Remember to create file 'touch i_want_to_commit_to_master' to commit to master"
fi
exit 1
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
对于马克:我重建了针对最新稳定标签和相同结果的git.它仅在对新分支进行提交后才有效.
$ mkdir gittest
$ …Run Code Online (Sandbox Code Playgroud) 我发布这个是为了节省另一个浪费时间的浪费时间.Mysql发布候选版本5.6.7-rc是垃圾邮件.和dev一样,我通常会尽可能地跟随最新版本.这导致我花了几个小时调试gerrit和mysql.答案是使用稳定版本.我希望这有助于其他人.
在SO协议上不确定做这样的事情 - 所以只是发布一个问题.
mysql> select VERSION();
+--------------+
| VERSION() |
+--------------+
| 5.6.7-rc-log |
+--------------+
1 row in set (0.00 sec)
mysql> SET OPTION SQL_SELECT_LIMIT=10;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=10' at line 1
mysql> select VERSION();
+------------+
| VERSION() |
+------------+
| 5.5.28-log |
+------------+
1 row in set (0.00 sec)
mysql> SET OPTION …Run Code Online (Sandbox Code Playgroud) 为什么Mysql优化器在执行'select*from lookup'而没有order by子句时选择二级索引.
它只是一个侥幸,或者这是一个幕后优化,假设你添加了一个二级索引,它比主键更重要.
我希望通过主键对结果进行排序,因为扫描所有叶节点可以提供回答此查询所需的所有数据.
要重现我创建一个简单的键/值对表(注意不是auto_increment)
create table lookup (
id int not null,
primary key (id),
name varchar(25),
unique k_name (name)
) engine=innodb;
Run Code Online (Sandbox Code Playgroud)
以随机非字母顺序插入一些数据
insert into lookup values(1, "Zebra"),(2, "Aardvark"),(3, "Fish"),(4,"Dog"),(5,"Cat"),(6,"Mouse");
Run Code Online (Sandbox Code Playgroud)
查询数据(这是我希望以主键的顺序返回数据的地方)
mysql> select * from lookup;
+----+----------+
| id | name |
+----+----------+
| 2 | Aardvark |
| 5 | Cat |
| 4 | Dog |
| 3 | Fish |
| 6 | Mouse |
| 1 | Zebra |
+----+----------+
6 rows in set …Run Code Online (Sandbox Code Playgroud) 我在MySQL中使用行锁定(事务)来创建作业队列.使用的引擎是InnoDB.
SQL查询
START TRANSACTION;
SELECT *
FROM mytable
WHERE status IS NULL
ORDER BY timestamp DESC LIMIT 1
FOR UPDATE;
UPDATE mytable SET status = 1;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
根据这个网页,
The problem with SELECT FOR UPDATE is that it usually creates a single synchronization point for all of the worker processes, and you see a lot of processes waiting for the locks to be released with COMMIT.
问题:这是否意味着当执行第一个查询时,这需要一些时间才能完成事务,当第二个类似查询在第一个事务提交之前发生时,它将不得不等待它在执行查询之前完成?如果这是真的,那么我不明白为什么单行的行锁定(我假设)将影响下一个不需要读取该锁定行的事务查询?
此外,通过执行UPDATE而不是事务,是否可以解决此问题(并且仍然实现行锁定对作业队列的影响)?
UPDATE mytable SET status = 1
WHERE status …Run Code Online (Sandbox Code Playgroud) 所以用这个人为的代码 - 用 clang 编译工作得很好,但是当使用 ccache 时会出现额外的警告/错误 - 我认为 ccache 应该透明地传递这些。这是来自 epel 存储库的 CentOS 6 上的 ccache 3.1.6 - 升级不是一种选择,因为这是生产环境。
#include <byteswap.h>
int main()
{
int i = 42;
auto j = bswap_32(i);
(void)j;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
因此,带有未使用的包含路径的示例 1 没有给出错误:
clang++ -Wno-c++98-compat -Wall -Werror -std=c++17 -I/usr/local/include -c ccache.cpp
Run Code Online (Sandbox Code Playgroud)
但是使用 ccache 我得到:
ccache clang++ -Wno-c++98-compat -Wall -Werror -std=c++17 -I/usr/include/xmlib -c ccache.cpp
clang-5.0: error: argument unused during compilation: '-I /usr/include/xmlib' [-Werror,-Wunused-command-line-argument]
Run Code Online (Sandbox Code Playgroud)
没有额外包含的示例 2 工作得很好:
clang++ -Wno-c++98-compat -Wall -Werror -std=c++17 -c ccache.cpp
Run Code Online (Sandbox Code Playgroud)
并使用 …
如何在 bash 中编写小数 for 循环
我收到类似的错误
((: upgradver=1.00: syntax error: invalid arithmetic operator (error token is ".00")
Run Code Online (Sandbox Code Playgroud)
我正在尝试类似的东西
upgradever=1.00
newver=1.06
for (($ver=$upgradever; $ver<$newver; $ver+=0.01))
do
echo "Upgrade to $ver"
done
Run Code Online (Sandbox Code Playgroud) 我正在尝试向列添加唯一键,并且收到了一个自我解释错误
MariaDB [dnd]> ALTER TABLE ability
-> ADD UNIQUE INDEX UK_ability_shortname (shortname);
ERROR 1062 (23000): Duplicate entry '' for key 'UK_ability_shortname'
Run Code Online (Sandbox Code Playgroud)
但问题是我看不到任何重复项
MariaDB [INFORMATION_SCHEMA]> select * from INNODB_SYS_INDEXES WHERE NAME LIKE 'UK_%';
+----------+---------------------------------+----------+------+----------+---------+-------+
| INDEX_ID | NAME | TABLE_ID | TYPE | N_FIELDS | PAGE_NO | SPACE |
+----------+---------------------------------+----------+------+----------+---------+-------+
| 1733 | UK_food_food | 563 | 2 | 1 | 4 | 558 |
| 1737 | UK_type_type | 565 | 2 | 1 | 4 | 560 |
| …Run Code Online (Sandbox Code Playgroud)