将文件夹中的每个更改提交到git存储库

时间:2014-09-12 09:30:28

标签: git bash powershell directory

我想使用git作为自动文件夹历史记录。我的流程或多或少如下:

  1. 在某些文件中进行更改
  2. Git commit
  3. 运行我的命令(例如vagrant upvagrant provision
  4. 我想到的想法是: 1.为我的命令创建一个别名(在bash或powershell中取决于操作系统) 2.在别名中始终运行git add .git commit -m "txt",然后运行" real"命令

    但是上面的想法看起来很丑陋(例如" txt"总是静止的,并没有描述任何东西)。有没有人看到更好的东西?

1 个答案:

答案 0 :(得分:1)

可以定义bash函数来创建更高级的别名。

在您的情况下,它可能如下所示:

[alias]
    ...
    my_alias = "!f() { git add "./$GIT_PREFIX"; git commit -m '$1'; vagrant up; }; f"

!告诉git在bash上执行别名(非git别名)

git my_alias "my commit message"

这将添加当前目录及其子目录中的所有文件,使用指定的消息提交它们,然后启动 vagrant

另一方面,这样的非git别名将始终在存储库的根目录中执行,这意味着使用git add .会导致整个存储库被添加到索引。

目前我没有看到解决此限制的简单方法,因此您可能需要先手动添加有问题的文件。

编辑 Etan提到了GIT_PREFIX变量的存在,正是出于此目的。我相应地编辑了答案。