|
|
1
60
由于git add在预提交中也不适用于我,所以我遵循mark的想法,使用.commit文件并将过程分为预提交和后提交。 下面是一些应该容易理解的代码 在预提交中:
在提交后:
|
|
|
2
35
使用预提交钩子可以完成您想要的操作。我们为heroku部署做了类似的事情(将coffeescript编译为javascript)。脚本无法运行的原因是您使用了
从 man page : 只有第一个exec命令正在运行。在此之后,脚本基本上被终止。 尝试一下(作为预提交挂钩):
|
|
3
14
这对我来说很好。 它将是当前提交的一部分。
|
|
|
4
10
在预提交中:
在提交后:
如果有人知道一个更好的方法,我洗耳恭听,但它似乎现在起作用。 |
|
|
5
9
|
|
|
6
2
如果文件是自动生成的,并且可以在任何地方生成(隐含在您希望在Git pre-commit钩子中构建它们的愿望中),那么您首先就不应该将它们置于源代码控制之下。您应该只控制源文件——生成的文件应该作为构建脚本的一部分生成。
补充 从…起 http://git-scm.com/docs/githooks :
预提交钩子的目的是在进行提交之前,对工作区的状态和提交的内容进行通过-失败检查。尝试更改提交的内容无效。
|
|
|
7
2
写封信怎么样
|
|
|
8
1
我也有同样的需求,这种方法对我来说非常有效:
其中“创建我的文件”应该是可执行的,例如,如果它是python文件,您可以将其作为“python创建我的文件和git添加我的文件”执行 确实,您不需要预先提交就可以再次提交(这将创建一个无限讨厌的循环:p) |
|
|
9
1
在这里你可以发现问题已经解决了。在这里,它在每次提交时更新文件版本,添加一个新的修改文件,并根据需要修改提交。它正在充分发挥作用: https://github.com/evandrocoan/.versioning 然后,您只需将文件“updateVersion.sh”上的“Version File Replacement”算法替换为您的算法。也许您需要更改一些内容,例如,删除分支限制,因为只有在“开发”分支上,脚本才会运行。 此外,它只会在暂存时更改指定的文件。如果文件没有暂存,那么它只会执行正常/常规提交。更准确地说,它会打印出每一步所做的事情。 我要解释一下,那个把戏。这相当棘手。在PrepareCommitMsg钩子上,它检测所需文件是否正在暂存和提交。之后,它创建一个标志文件,并停止prepare-commit-msg钩子。 稍后在post-commit钩子上,它检查标志文件是否存在。如果是,它将修改提交上的文件。
|
|
|
10
-2
在预提交钩子中,我也面临同样的问题。我修改了一个文件并提交了它,但它采用了以前的文件而不是更新的文件,所以通过在预提交钩子中添加git命令(如下所示),它解决了这个问题。
注:
|