我需要在提交消息之前添加“ticket:N”,其中 N 是我正在处理的票证的编号。但我总是忘记前缀,并且只在 5-6 次提交后才记住它,所以--amend没有帮助。是否可以设置一些警告,这样每次我忘记添加前缀时 git 都会警告我?
我一直在开发 git 存储库,并且一直将本地更改推送到远程服务器......直到最近。当我执行 git Push 时,它说一切都是最新的。事实上,我已经比远程版本提前了 3 个提交,但它没有得到我的更改。
我已经尝试过发布在各个地方的 git log -1, git reset --hard 解决方案,但这并不能解决任何问题。我是否需要更改该数字以反映我领先的提交数量?
假设我有 5 个提交,为了简洁起见,命名为 1 到 5。我的本地版本是 5,远程版本是 2。Gitk 在提交 5 处显示我的 MASTER,在提交 2 处显示远程/origin/master。我需要 git将我的本地版本重置为 2(或 3,未推送到远程的第一个提交)?我的改变会发生什么?git 文档说 --hard 将放弃任何更改,这是否意味着它们将完全丢失?我想保留这 3 次提交的提交历史记录,因为进行了相当多的更改。
使用 MySQL 的 PHP PDO 接口,假设我有以下代码来结束事务(假设它已正确开始):
$pdo->query('commit');
Run Code Online (Sandbox Code Playgroud)
当函数返回时,对日志的写入是否已刷新?也就是说,事务是否已提交,或者我只是提出了提交请求?假设我没有设置任何延迟刷新的选项,例如将 innodb_flush_log_at_trx_commit 设置为零。
我问是因为,如果我要遵循上面的代码:
echo 'Transaction has been committed.';
Run Code Online (Sandbox Code Playgroud)
我不想被揭穿谎言。
更新:请参阅下面的评论。我不是在问 InnoDB 是如何工作的。我问PDO接口是否等待InnoDB引擎执行命令后再返回。
更新#2:我应该说提交将通过调用 PDO::commit 来执行,这就是我实际执行的方式,以防万一这与使用 SQL 执行之间有任何差异。
如何显示将在 Netbeans 中推送的所有 (git) 提交?Netbeans 7.3 只是推送所有内容,而不首先显示所有提交的列表(就像 IntelliJ IDEA 所做的那样)。
我有一个很大的提交,我正在尝试推送到远程。但它一直失败。它可以很好地计算和压缩项目。但是当它尝试写入远程时,需要很长时间。它达到大约 79%,然后我收到一个错误。
一些效果:Remote suddenly hung up on other end
我尝试将提交分成更小的块,但推送仍然试图将它们完全推送。所以这仍然是同样的问题。有没有办法单独推送较小的块?
我发现了很多关于克隆存储库并立即检查给定提交 ID 的问题/答案。简单的方法:
git clone <URL> working-copy
cd working-copy; git checkout <COMMIT-ID>
Run Code Online (Sandbox Code Playgroud)
通过分支机构,您可以git clone -b <BRANCH> <URL>
使用分支,您还可以进行浅克隆,这使得克隆速度更快,但您无法再检出任意 ID。
所以我的问题是:有没有一种方法可以对给定的 URL/提交 ID 进行浅表克隆,而无需在远程创建分支?
不同类型的远程存储库有区别吗?(例如本地文件系统、BitBucket、GitHub、GitLab 等)
假设我有以下 git 存储库,其中在提交 #2 中添加了一个文件,并在提交 #3 中删除了文件:
commit de36dee94ab54ab61dd2c6e9164756c1a608bd13 (HEAD -> master)
Author: Keith <keith>
Date: Tue Sep 25 09:57:45 2018 -0500
#3
foo.txt | 1 -
1 file changed, 1 deletion(-)
commit 1fddf03367b9e2e4b65f96f4fc5db7d7d353f50c
Author: Keith <keith>
Date: Tue Sep 25 09:57:37 2018 -0500
#2
foo.txt | 1 +
1 file changed, 1 insertion(+)
commit 4ab9494db091077879a74a47f83fe568a7efd133
Author: Keith <keith>
Date: Tue Sep 25 09:57:23 2018 -0500
#1
README.md | 1 +
1 file changed, 1 insertion(+)
Run Code Online (Sandbox Code Playgroud)
现在假设我对提交 #1-#3范围内所做更改的摘要感兴趣。如果我简单地这样做 …
根据文档(https://www.postgresql.org/docs/current/app-psql.html),即使AUTOCOMMIT设置为关闭,PSQL 也会BEGIN在尚未位于事务块中的任何命令之前发出隐式命令本身不是一个BEGIN或其他事务控制命令,也不是不能在事务块内执行的命令,例如VACUUM. (不幸的CALL是,与 的处理方式不同VACCUM)。而且,根据 Shaun Thomas ( https://blog.2ndquadrant.com/pg-phriday-stored-procedures-postgres-11/ ) 的说法,发生无效交易终止错误是因为无法关闭当前交易(在此情况下)情况是由 PSQL 启动的)在过程中。我尝试了所有与事务控制相关的PSQL设置,但都出现无效事务终止错误;即使 PSQL 处理的命令文件仅包含该CALL语句。
这是我调用的程序:
create or replace procedure producto$cargar_imagenes(_super$ bigint, _archivo$ character varying) as $$
declare
_msg character varying;
_log rastro_proceso%ROWTYPE;
begin
perform rastro_proceso_temporal$insert(_super$);
perform producto$cargar_imagenes$biz(_super$, _archivo$);
if (_super$ is not null and _super$ > 0) then
perform producto$cargar_imagenes$log(_super$, _archivo$);
else
perform tarea_usuario$private$update(6519204281880642486, null);
end if;
commit;
end;
$$ language plpgsql set search_path …Run Code Online (Sandbox Code Playgroud) 在 Windows 上的 git bash CLI 中,当我尝试推送我添加到 Web 开发前端纳米学位的在线组合项目中的响应 PNG 图像时,git push origin master卡住了。Total 23 (delta 1), reused 0 (delta 0)
我尝试了人们在几个论坛上建议的方法,通过在 CLI 上运行:git config --global http.postBuffer 524288000。这不起作用..
然后,在git add <all image files> 我必须将git update-index --chmod=+x *图像文件夹的权限更改为 100755 后,因为否则它们将被设置为create mode 100644我提交文件的时间。完成此操作后,所有图像文件最终都由提交索引为create mode 100755 images/img-xxxxxxxxxxx.png, every 。
即使在那之后,当我尝试将更改推送到遥控器时,它仍然会卡在Total 23 (delta 1), reused 0 (delta 0)。但这一次我去睡觉了,早上,Bash CLI 上有以下答案:
$ git push
Enumerating objects: …
问题
我可以使用 read_sql() 将 SQL 事务提交到数据库吗?
用例和背景
我有一个用例,我希望允许用户执行一些预定义的 SQL 并返回 pandas 数据帧。在某些情况下,此 SQL 需要查询预先填充的表,而在其他情况下,此 SQL 将执行一个函数,该函数将写入表,然后查询该表。此逻辑当前包含在 Airflow DAG 的方法内部,以便利用 PostgresHook 可访问 Airflow 的数据库连接信息 - 该方法最终在 PythonOperator 任务中调用。通过测试,我了解到 PostgresHook 创建了一个 psycopg2 连接对象。
代码
from airflow.hooks.postgres_hook import PostgresHook
import pandas as pd
def create_df(job_id,other_unrelated_inputs):
conn = job_type_to_connection(job_type) # method that helps choose a database
sql = open('/sql_files/job_id_{}.sql'.format(job_id)) #chooses arbitrary SQL
sql_template = sql.read()
hook = PostgresHook(postgres_conn_id=conn) #connection information for alias is predefined elsewhere within Airflow
try:
hook_conn_obj = hook.get_conn()
print(type(hook_conn_obj)) # <class …Run Code Online (Sandbox Code Playgroud)