草庐IT

pre-commit-hook

全部标签

git - 为什么当我需要 *pull* origin master 时它说 "Your branch is ahead of origin/master by 857 commits"

首先,我知道一些措辞相似的问题,例如:HowcanIfindthelocationoforigin/masteringit,andhowdoIchangeit?git:YourbranchisAheadbyXcommitsGit:BranchisaheadbyXcommits.Doesn'thelpdoinggitpullpull-onlyrepo's'gitstatus'sayingthebranchisaheadoforigin/master.Why?他们(AFAICT)都没有与我对这个问题的版本相匹配的答案。我的情况是:$gitstatus#Onbranchstablenothi

github fork : your branch is 5 commits ahead how to clean this without pushing

我在github上fork了一个项目,以便发送pull请求。问题是我的做法非常……肮脏。我在分支的本地副本上工作,为我的修改创建了一个分支并将其merge到主分支上。然后我将master推送到githubfork上以创建pull请求。问题是最近,我的pull请求被拒绝了。所以现在我比原来的主人提前5次提交。为了与原始存储库保持一致,有哪些解决方案?我是否必须检查新分支中的上游master并使用它创建新的master(怎么做?)还是删除我的github分支(我以前接受过提交)并重新创建它(您可以在此处查看github存储库)更好https://github.com/cedlemo/rub

github fork : your branch is 5 commits ahead how to clean this without pushing

我在github上fork了一个项目,以便发送pull请求。问题是我的做法非常……肮脏。我在分支的本地副本上工作,为我的修改创建了一个分支并将其merge到主分支上。然后我将master推送到githubfork上以创建pull请求。问题是最近,我的pull请求被拒绝了。所以现在我比原来的主人提前5次提交。为了与原始存储库保持一致,有哪些解决方案?我是否必须检查新分支中的上游master并使用它创建新的master(怎么做?)还是删除我的github分支(我以前接受过提交)并重新创建它(您可以在此处查看github存储库)更好https://github.com/cedlemo/rub

git - 如何在预提交 Hook 中正确 git stash/pop 以获得干净的工作树进行测试?

我正在尝试使用单元测试的裸运行来执行预提交Hook,并且我想确保我的工作目录是干净的。编译需要很长时间,所以我想尽可能利用重用已编译的二进制文件。我的脚本遵循我在网上看到的例子:#Stashchangesgitstash-q--keep-index#Runtests...#Restorechangesgitstashpop-q但这会导致问题。这是再现:添加//Step1至a.javagitadd.添加//Step2至a.javagitcommitgitstash-q--keep-index#存储更改运行测试gitstashpop-q#恢复更改在这一点上,我遇到了问题。gitstashp

git - 如何在预提交 Hook 中正确 git stash/pop 以获得干净的工作树进行测试?

我正在尝试使用单元测试的裸运行来执行预提交Hook,并且我想确保我的工作目录是干净的。编译需要很长时间,所以我想尽可能利用重用已编译的二进制文件。我的脚本遵循我在网上看到的例子:#Stashchangesgitstash-q--keep-index#Runtests...#Restorechangesgitstashpop-q但这会导致问题。这是再现:添加//Step1至a.javagitadd.添加//Step2至a.javagitcommitgitstash-q--keep-index#存储更改运行测试gitstashpop-q#恢复更改在这一点上,我遇到了问题。gitstashp

git - git post-receive hook 如何获取它正在运行的 repo 的名称?

我有一个gitpostreceiveHook,它会在我的构建系统上触发构建。我需要在Hook脚本中创建一个格式为“$repo-name+$branch”的字符串。我可以解析分支,但是如何从git中获取存储库名称?谢谢! 最佳答案 我认为“存储库名称”在git中不是一个明确定义的概念。也许最有用的是在裸存储库的情况下返回whatever.git或在具有工作树的存储库的情况下返回whatever。我已经测试过,这个Bourneshell可以从post-receiveHook中正确处理这两种情况:if[$(gitrev-parse--is

git - git post-receive hook 如何获取它正在运行的 repo 的名称?

我有一个gitpostreceiveHook,它会在我的构建系统上触发构建。我需要在Hook脚本中创建一个格式为“$repo-name+$branch”的字符串。我可以解析分支,但是如何从git中获取存储库名称?谢谢! 最佳答案 我认为“存储库名称”在git中不是一个明确定义的概念。也许最有用的是在裸存储库的情况下返回whatever.git或在具有工作树的存储库的情况下返回whatever。我已经测试过,这个Bourneshell可以从post-receiveHook中正确处理这两种情况:if[$(gitrev-parse--is

git - 我可以交互式地从另一个 git commit 中挑选 hunks 吗?

我正在寻找与完全相同的行为gitadd-i-p但是我不想从我的工作目录中编写提交,而是想从(部分)提交中编写我的工作目录。我该怎么做?我的用例是我有几个不同的功能,这些功能在一次提交中组合在一起,我想一个一个地测试它们使用cherry-pick-n并不是很令人满意,因为它留给我删除所有不需要的代码的肮脏工作。我真的只想选择我想要测试的选定更改。 最佳答案 Usingcherry-pick-nisnotreallysatisfactory,sinceitleavesmewiththedirtyjobofremovingalltheun

git - 我可以交互式地从另一个 git commit 中挑选 hunks 吗?

我正在寻找与完全相同的行为gitadd-i-p但是我不想从我的工作目录中编写提交,而是想从(部分)提交中编写我的工作目录。我该怎么做?我的用例是我有几个不同的功能,这些功能在一次提交中组合在一起,我想一个一个地测试它们使用cherry-pick-n并不是很令人满意,因为它留给我删除所有不需要的代码的肮脏工作。我真的只想选择我想要测试的选定更改。 最佳答案 Usingcherry-pick-nisnotreallysatisfactory,sinceitleavesmewiththedirtyjobofremovingalltheun

Git 子模块提交 Hook

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