草庐IT

pre-commit-hook

全部标签

Git 子模块提交 Hook

我正在使用一个git子模块(我们称它为SubmoduleRepo),这样我就可以将我的模块包含在几个项目中。我可以从任何使用它的项目提交到SubmoduleRepo。我可以毫不费力地更新、提交和推送到SubmoduleRepo。每当我在包含SubmoduleRepo的项目的目录中工作时提交某些内容时,我需要执行提交Hook(当我在SubmoduleRepo中工作时,提交Hook按预期执行)子模块的目录中没有.git文件夹(只有指定当前目录路径的.git文件)。 最佳答案 如果你有Git2.10+,你可以通过运行获取hooks目录:`

Xcode: "The working copy ____ has uncommitted changes"与 git 状态: "nothing to commit, working directory clean"

在Xcode5.0.2中,我尝试从远程pull并收到以下消息:“工作副本‘项目名称’有未提交的更改。提交或放弃更改并重试。”很公平。我打开提交对话框,然后收到消息“此文件在请求的修订版中不存在”。单击“确定”将我带入提交对话框。(右Pane中没有显示修订,大概是出于与我收到最新消息相同的原因。)选择平面View,我看到只有一个修改过的文件:project.pbxproj.我输入一条提交消息并单击“提交1个文件”。当我再去pull时,我发现我的位置和以前完全一样——出现相同的消息,无论我提交多少次,我都无法pull(或push)。出于好奇,我运行gitdiff来查看只是发生了什么变化。没

Xcode: "The working copy ____ has uncommitted changes"与 git 状态: "nothing to commit, working directory clean"

在Xcode5.0.2中,我尝试从远程pull并收到以下消息:“工作副本‘项目名称’有未提交的更改。提交或放弃更改并重试。”很公平。我打开提交对话框,然后收到消息“此文件在请求的修订版中不存在”。单击“确定”将我带入提交对话框。(右Pane中没有显示修订,大概是出于与我收到最新消息相同的原因。)选择平面View,我看到只有一个修改过的文件:project.pbxproj.我输入一条提交消息并单击“提交1个文件”。当我再去pull时,我发现我的位置和以前完全一样——出现相同的消息,无论我提交多少次,我都无法pull(或push)。出于好奇,我运行gitdiff来查看只是发生了什么变化。没

git line endings - 不能存储,重置,现在不能 rebase over spurious line endings commit

我有一个repo协议(protocol),我向它添加了一个gitattributes并且工作正常。我通过保管箱将其同步到另一台机器。当我在另一台机器上打开它时,一堆文件突然出现在未暂存区域作为总差异(所有文件都是一个巨大的差异,这意味着行尾差异)-我的crlf结尾基本上是.*text=auto并且我在Windows上工作。我试图stash更改、重置分支等。最后我决定提交文件,然后进行一些其他提交,我想在行尾提交之前重新排序(和压缩)。当我尝试rebase时,我得到一个:error:Yourlocalchangestothefollowingfileswouldbeoverwritten

git line endings - 不能存储,重置,现在不能 rebase over spurious line endings commit

我有一个repo协议(protocol),我向它添加了一个gitattributes并且工作正常。我通过保管箱将其同步到另一台机器。当我在另一台机器上打开它时,一堆文件突然出现在未暂存区域作为总差异(所有文件都是一个巨大的差异,这意味着行尾差异)-我的crlf结尾基本上是.*text=auto并且我在Windows上工作。我试图stash更改、重置分支等。最后我决定提交文件,然后进行一些其他提交,我想在行尾提交之前重新排序(和压缩)。当我尝试rebase时,我得到一个:error:Yourlocalchangestothefollowingfileswouldbeoverwritten

git - 如何在克隆时传播 Git Hooks

我已经在我的中央存储库中编写了一个预提交Hook。当我的客户克隆存储库时,它从不传播Hook。我希望这些Hook也能复制到我客户的存储库中。我的客户是Windows用户,使用msysgit作为git客户端。有什么方法可以将钩子(Hook)复制到本地存储库? 最佳答案 您可以编写安装脚本,例如setuphooks.sh,它会pull下钩子(Hook)脚本并将它们安装在正确的位置。编写起来应该不难,因为curl可以完成大部分工作。或者您可以将仓库中的钩子(Hook)包含在普通文件夹中,例如.hooks,然后将它们全部复制到.git/ho

git - 如何在克隆时传播 Git Hooks

我已经在我的中央存储库中编写了一个预提交Hook。当我的客户克隆存储库时,它从不传播Hook。我希望这些Hook也能复制到我客户的存储库中。我的客户是Windows用户,使用msysgit作为git客户端。有什么方法可以将钩子(Hook)复制到本地存储库? 最佳答案 您可以编写安装脚本,例如setuphooks.sh,它会pull下钩子(Hook)脚本并将它们安装在正确的位置。编写起来应该不难,因为curl可以完成大部分工作。或者您可以将仓库中的钩子(Hook)包含在普通文件夹中,例如.hooks,然后将它们全部复制到.git/ho

git - 防止人们使用不同的作者姓名推送 git commit?

在git中,每个用户都可以在他们的本地git配置文件中指定正确的作者。当他们推送到集中式裸存储库时,存储库上的提交消息将具有他们在提交到自己的存储库时使用的作者姓名。有没有办法强制使用一组已知的提交作者?可以通过ssh访问“中央”存储库。我知道这很复杂,因为有些人可能正在push其他人所做的提交。当然,您也应该只允许您信任的人推送到您的存储库,但如果这里有一种方法可以防止用户错误,那就太好了。在git中有解决这个问题的简单方法吗? 最佳答案 我们使用以下内容来防止意外的未知作者提交(例如,从客户的服务器或其他东西进行快速提交时)。它

git - 防止人们使用不同的作者姓名推送 git commit?

在git中,每个用户都可以在他们的本地git配置文件中指定正确的作者。当他们推送到集中式裸存储库时,存储库上的提交消息将具有他们在提交到自己的存储库时使用的作者姓名。有没有办法强制使用一组已知的提交作者?可以通过ssh访问“中央”存储库。我知道这很复杂,因为有些人可能正在push其他人所做的提交。当然,您也应该只允许您信任的人推送到您的存储库,但如果这里有一种方法可以防止用户错误,那就太好了。在git中有解决这个问题的简单方法吗? 最佳答案 我们使用以下内容来防止意外的未知作者提交(例如,从客户的服务器或其他东西进行快速提交时)。它

git - 创建一个 BitBucket git 提交 Hook ?

我刚刚将一个存储库从GitHub移植到BitBucket。虽然它做了很多必需品,但我发现很难找到创建git提交Hook的文档。最初我在CentOS服务器上有一个由GitHubHook触发的ruby​​应用程序。有谁知道如何在BitBucket环境中实现同样的目标?谢谢!编辑:如果有帮助,这里是ruby​​应用程序的简单外观:post'/'do`rm-rfrepofolder``gitclonehttps://user@bitbucket.org/user/repo.git``shfast_deploy.sh`end 最佳答案 我找到