有没有一种快速的方法来制作虚拟文件并git提交它们来模拟工作?

问题描述 投票:0回答:2

为了测试 git 功能,我想快速进行任意数量的提交,而无需手动进行更改并单独提交。现在,我必须根据需要手动执行以下单独的命令以进行尽可能多的提交:

$ touch test1

$ git add .

$ git commit -m "Add test1"
[fix2 91efb1b] Add test1
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test1

这当然给出了我正在寻找的结果(廉价提交测试 git flow 命令),但需要大量输入。是否可以自动执行此操作,或者是否有命令可以执行此操作?

git commit
2个回答
1
投票

我使用保存到 $PATH 目录中的简单 bash 脚本解决了这个问题(或者您不必这样做):

>hackhackhack.sh
----------------

#!/bin/bash

for ((i=1;i<=$2;i++));
do
    fname="$1$i" 
    touch $fname
    git add $fname
    git commit -m "Add $fname"
done

它按顺序输入文件名和数字;创建文件,将其添加到索引,进行提交,然后重新开始或结束。

输出如下所示:

$ . hackhackhack.sh dummy 5
[master e7a9f93] Add dummy1
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 dummy1
[master 0726230] Add dummy2
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 dummy2
[master 94a83a2] Add dummy3
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 dummy3
[master b38c825] Add dummy4
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 dummy4
[master b406bb5] Add dummy5
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 dummy5

对我来说非常有用!享受吧!


0
投票
-- Flyway script V<VERSION>__Insert_ACS_Transactions_Info.sql
-- Adjust the VERSION to match your Flyway versioning schema

DECLARE

  story_name VARCHAR2(100) := '52944616/insert_ACS_transactions_info';

  expected_pre_result PLS_INTEGER := <EXPECTED_PRE_COUNT>; -- Define the expected count for pre-validation
  expected_post_result PLS_INTEGER := <EXPECTED_POST_COUNT>; -- Define the expected count for post-validation

  prevalidation_failed_msg VARCHAR2(250) := 'Prevalidation for ' || story_name || ' failed.';
  postvalidation_failed_msg VARCHAR2(250) := 'Postvalidation for ' || story_name || ' failed.';

  pre_result PLS_INTEGER;
  post_result PLS_INTEGER;

  prevalidation_failed EXCEPTION;
  postvalidation_failed EXCEPTION;
  unexpected_error EXCEPTION;

  PRAGMA EXCEPTION_INIT(prevalidation_failed, -20000);
  PRAGMA EXCEPTION_INIT(postvalidation_failed, -20001);
  PRAGMA EXCEPTION_INIT(unexpected_error, -20002);

  -- Replace <NEW_PARM_TYP_NAM>, <NEW_PARM_TYPE_DESC>, and other placeholders with actual values

BEGIN

  -- Pre-validation: Check for existence of PARM_TYPE_NAM
  SELECT COUNT(*) INTO pre_result FROM MCSENDPERF.SYS_PARM_TYPE WHERE PARM_TYPE_NAM = '<NEW_PARM_TYP_NAM>';
  IF pre_result != expected_pre_result THEN
    RAISE prevalidation_failed;
  END IF;

  -- Insert PARM_TYPE_NAM and PARM_TYPE_DESC into SYS_PARM_TYPE 
  INSERT INTO MCSENDPERF.SYS_PARM_TYPE (PARM_TYPE_NAM, PARM_TYPE_DESC)
  VALUES ('<NEW_PARM_TYP_NAM>', '<NEW_PARM_TYPE_DESC>');

  -- Insert data into SYS_PARM table
  INSERT INTO MCSENDPERF.SYS_PARM (PARM_TYPE_NAM, PARM_NAM, PARM_VAL)
  VALUES ('PERF_POC_BATCH_PARTNER_ID', 'PARTNER_ID', '123,456,8831');

  INSERT INTO MCSENDPERF.SYS_PARM (PARM_TYPE_NAM, PARM_NAM, PARM_VAL)
  VALUES ('PERF_POC_BATCH_PRCSSR_ID', 'PRCSSR_ID', '90000022922');

  -- Add additional INSERT statements as needed for all PARM_NAM and PARM_VAL pairs

  -- Post-validation: Check for the existence of new rows in SYS_PARM
  SELECT COUNT(*) INTO post_result FROM MCSENDPERF.SYS_PARM WHERE PARM_TYPE_NAM = '<NEW_PARM_TYP_NAM>';
  IF post_result != expected_post_result THEN
    RAISE postvalidation_failed;
  END IF;

  -- If all validations pass, commit changes
  COMMIT;

EXCEPTION
  WHEN prevalidation_failed THEN
    ROLLBACK;
    RAISE_APPLICATION_ERROR(-20000, prevalidation_failed_msg);
  WHEN postvalidation_failed THEN
    ROLLBACK;
    RAISE_APPLICATION_ERROR(-20001, postvalidation_failed_msg);
  WHEN OTHERS THEN
    ROLLBACK;
    RAISE_APPLICATION_ERROR(-20002, 'Unexpected error for ' || story_name || ': ' || SQLCODE || '-' || SQLERRM);

END;
/
© www.soinside.com 2019 - 2024. All rights reserved.