由于我在GitHub上的空间用完我的免费帐户(是的,我正在考虑升级),我正在Gitorious上设置新的git存储库(另见GitHub vs Gitorious).GitHub的一个很棒的功能是提交后挂钩,它允许我通知(也很棒的)CIA网络 ......
但是,我一直无法找到Gitorious是否支持这样的钩子......所以,我想问一下获取提交消息的最佳实践是否出现在CIA网络上,用于Gitorious托管的git存储库.
更新:使用辅助机制来触发CIA提交消息的解决方案不是我想要的.
我正在使用git gui,我看不到我的分支.
我知道我今天检查了一些东西.
在我完成提交后,我更改为较早的分支,并使用分支查看器对其进行了验证.我对早期的分支进行了更改,然后想回到我当前的分支,但我再也看不到了.任何帮助都会很棒.
说我有,
A topic
/ \
D---E---F master
Run Code Online (Sandbox Code Playgroud)
通过这样做,我可以很容易地得到DE的差异
git diff D..E --name-status
Run Code Online (Sandbox Code Playgroud)
和EF,EA一样.
提交F是一个合并提交,并说它有冲突.通过修改foo.bar解决了这个问题.foo.bar被添加了git,然后提交了合并提交.合并冲突得到了解决.
现在foo.bar的更改仅存在于commit F中.如何获得该差异?
有没有办法获得在合并提交中唯一引入的文件差异?
建立:
两者都使用django的ORM,在同一台机器上运行并使用本地MySQL数据库.
问题:
B获取条目,除了最新的条目,即使A在几分钟之前保存它.
我怀疑A没有关闭事务,因此B看到没有最后一个条目的DB.确实在检查MySQL日志时,我注意到commit每个日志都INSERT发生在下一个 日志之前INSERT.
虽然它应该是多余的,但我将@commit_on_success装饰器添加到包含该功能的A功能中save(),但它没有帮助.
我怎么能强迫django(或MySQL ?!)在之后立即提交save()?
更新:
我发现提交DO发生-我是误导相信他们不会因为MySQL的通用查询日志只有1秒的分辨率.
鉴于这个和其他新信息,我在这里重新提出了这个问题.
我试图在Jenkins CI成功后进行构建后提交.
有没有办法做到这一点?
我的问题是,当我构建它时,我需要在工作区中生成一些dll,我需要提交给svn.
如果我想创建一个表并在另一个表中插入一个新条目,这可以在sqlite模块中成为原子吗?
请参阅http://docs.python.org/2/library/sqlite3.html上的文档:
默认情况下,sqlite3模块在数据修改语言(DML)语句(即INSERT/UPDATE/DELETE/REPLACE)之前隐式打开事务,并在非DML非查询语句(即SELECT或其他任何语句)之前隐式提交事务.之前所提).
因此,如果您在事务中并发出类似CREATE TABLE ...,VACUUM,PRAGMA的命令,则sqlite3模块将在执行该命令之前隐式提交.这样做有两个原因.首先,其中一些命令在事务中不起作用.另一个原因是sqlite3需要跟踪事务状态(如果事务处于活动状态).
我不确定这第二段是否适用于自动启动的交易或手动和自动交易.
Sqlite docs http://www.sqlite.org/lang_transaction.html告诉我们手动事务在显式COMMIT之前不会提交:
可以使用BEGIN命令手动启动事务.此类事务通常会持续到下一个COMMIT或ROLLBACK命令.
所以假设我们有这样的事情:
con = sqlite3.connect(fdb)
cur = con.cursor()
sql = 'begin transaciton'
cur.execute(sql)
sql = 'CREATE TABLE some-table ...
cur.execute(sql)
# *** is there an implicit commit at this point ?! ***
sql = 'INSERT INTO another-table ...
cur.execute(sql)
con.commit()
Run Code Online (Sandbox Code Playgroud)
这会是原子的,还是python sqlite会在create table声明后进行提交?有没有办法让它成为原子?
我正在尝试编写git pre-commit钩子脚本,它应该在修改文件的开头写入提交日期.我的问题是我无法将修改过的文件添加到以前的提交中.当我再次尝试调用git commit时,它会运行递归.如何编写脚本,在修改后的文件末尾添加修改时间?
我的代码:
#!/bin/bash
files_modified=`git diff-index --name-only HEAD`
for f in $files_modified; do
if [[ $f == *.groovy ]]; then
$line = $(head -1 f)
if [[ $line == "/%%*" ]];
then
sed -i 1d
fi
echo "/%% " + $(date +"%m_%d_%Y") + " %%\\" >> f
git add f
fi
done
git commit --amend #recursive
exit
Run Code Online (Sandbox Code Playgroud) 有没有办法得到一个指向git特定提交的引用列表(包括标签,分支和遥控器)?
我提交了我不想推送的文件.我还没推,但我怎么能删除提交.
这是它的样子:

这是选项:

我不想撤消对源代码的任何更改!!