Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git推送期间如何按键对属性文件进行排序?_Git_Properties_Githooks_Properties File - Fatal编程技术网

git推送期间如何按键对属性文件进行排序?

git推送期间如何按键对属性文件进行排序?,git,properties,githooks,properties-file,Git,Properties,Githooks,Properties File,其中有一个git存储库和一些属性文件,如下所示: //application.properties bKey=12345 aKey=myValue //application.properties aKey=myValue bKey=12345 执行git push后,远程git服务器应按如下方式对这些文件进行排序: //application.properties bKey=12345 aKey=myValue //application.properties aKey=myValue

其中有一个git存储库和一些属性文件,如下所示:

//application.properties
bKey=12345
aKey=myValue
//application.properties
aKey=myValue
bKey=12345
执行
git push
后,远程git服务器应按如下方式对这些文件进行排序:

//application.properties
bKey=12345
aKey=myValue
//application.properties
aKey=myValue
bKey=12345

如何编写钩子?

在bashrc中创建一个新的自定义别名,它将执行git推送和触发bash脚本(它将对属性文件进行排序)

这不完全是一个钩子,但你的问题可以通过这种方式解决


编辑:您可以使用预提交钩子:

在bashrc中创建一个新的自定义别名,该别名将执行git推送和触发bash脚本(它将对属性文件进行排序)

这不完全是一个钩子,但你的问题可以通过这种方式解决


编辑:您可以在服务器端使用预提交钩子:

,钩子不能修改文件。
但是,如果您的远程repo将这些文件签出到一个工作树中(例如,通过一个实例),那么您可以将一个关联到您的远程git,这将进行这种转换

这假设您可以访问远程Git托管服务器(意味着它不是GitHub.com、BitBucket.org或GitLab.com)

如果是这种情况,您可以通过声明一个
smudge
脚本,该脚本将对任何
应用程序.properties
文件的内容进行排序


这将在签出时自动完成。

在服务器端,钩子不能修改文件。
但是,如果您的远程repo将这些文件签出到一个工作树中(例如,通过一个实例),那么您可以将一个关联到您的远程git,这将进行这种转换

这假设您可以访问远程Git托管服务器(意味着它不是GitHub.com、BitBucket.org或GitLab.com)

如果是这种情况,您可以通过声明一个
smudge
脚本,该脚本将对任何
应用程序.properties
文件的内容进行排序

这将在结帐时自动完成