我正在使用我的团队的git,并希望从我的差异,日志,合并等中删除空格更改.我假设最简单的方法是让git自动删除尾随空格(以及其他空白错误)来自所有提交的应用程序.
我试图通过~/.gitconfig文件添加以下内容,但是当我提交时它没有做任何事情.也许它是为不同的东西而设计的.解决方案是什么?
[core]
whitespace = trailing-space,space-before-tab
[apply]
whitespace = fix
Run Code Online (Sandbox Code Playgroud)
我正在使用红宝石,以防任何人有任何红宝石特定的想法.在提交之前自动代码格式化将是下一步,但这是一个难题而不是真正导致大问题.
git init再次发布时,现有git存储库会发生什么?
我创建了一个存储库git init.创建了一个文件,添加,提交.检查状态(无需提交).然后创建另一个文件,检查状态,我可以看到它没有按预期进行跟踪.
然后,错误地说,我git init再次运行,我得到Reinitialise现有的Git存储库消息.
尝试过git status,但它显示相同.那真的发生了什么?
可以通过这种方式重新初始化现有的git存储库是有害的还是有帮助的?为什么我们可以git init在现有的存储库中?
不确定这是否可以在git中使用(我没有找到它,但我可能在我的搜索中使用了错误的词汇表),但是能够修改和启用钩子作为所有新存储库的默认值是有用的(在我的意思是创建的时间)所以每次创建新的存储库时都不必自定义这些.看起来这样做的简单方法是编写一个包装器,在我创建一个新的存储库时设置我的钩子和chmods,但如果有一种内置到git中的方法,我宁愿使用它而不是使用不必要的包装器脚本,而不是四处闲置.
澄清从评论复制到现在删除的答案:
我的问题是,是否可以更改所有新存储库的默认行为,因此不需要每次为每个新存储库以相同的方式自定义它们.简单的答案是编写一个包装器来创建和自定义repos(它生成钩子脚本并对它们进行chmod),但似乎这个默认行为也应该是可自定义的,而不必这样做.
我有一个我喜欢的master/ develop分支系统,但它带有一个基本规则.没有提交develop或master仅进行合并.这很棒,但最近我不小心对我的开发分支进行了一些更改/提交,它让我失去了焦油.
我考虑将这些提交的所有权转移develop到另一个已经存在的分支(我们称之为work),这是我应该首先处理的那个,但我决定让这一个去.相反,我想先解决这个问题.如何锁定一个分支,以便提交对传统的正常更改不起作用?
例如,如果您在"锁定"分支上进行了更改,那么您git add也不可能git commit -a.我认为技术上我要求锁定舞台,但你明白了.有什么想法吗?或者我会更好地学习git,我知道如何解决提交父问题?
我怎样才能在git中强制执行提交消息格式.可以将其设置在存储库级别,以便创建分支的每个人都可以执行此操作.
在我的系统上,我没有user.email故意在全局级别设置git配置值.相反,我在每个沙箱中单独配置它.这是因为我需要为不同的项目使用不同的电子邮件地址.
不幸的是,我有时忘记在创建新沙箱时配置该值.在这些情况下,git只是根据从环境中获取的信息"猜测"一个值.这导致了各种各样的问题,例如提交不归因于我在github上,并且我不会有太多的运气来获得那些具有@localhost追溯归因于我的电子邮件地址的提交.
有没有办法配置git错误输出而不是猜测我何时尝试提交没有user.email配置本地或全局值?
有没有办法使用钩子脚本在Smartgit中自动插入提交消息?(击).如果用户提交了他的更改,我想预加载提交消息字段.
我和这个用户有完全相同的问题:
我的全局git钩子中有一个新的模板文件.但是,原始模板文件已加载,因此git init不会覆盖.我在这里阅读相同,这似乎是正确的git行为:
来自http://www.cs.potsdam.edu/cgi-bin/man/man2html?1+git-init:
在现有存储库中运行git init是安全的.它不会覆盖已存在的东西.重新运行git init的主要原因是选择新添加的模板.
那么强制重新加载新的git模板钩子的好方法是什么?我在许多git repos中有许多钩子,在几台计算机上并被各种用户使用.最实用的方法是让用户运行一个特定的命令,而不是告诉他们先删除钩子然后再运行git init命令.有办法做到这一点吗?
我创建了一个 pre-commite 钩子,它可以在我的本地机器上运行,但我不知道如何与我的大学分享这个钩子
我将不胜感激任何帮助。
提前致谢 丹尼斯
如何创建可供团队中的每个人使用的全局预提交挂钩?基本上,我希望无论何时克隆远程存储库,他都应该默认获得这个全局预提交钩子.
我遇到了这个更改默认git钩子,Git提交钩子 - 全局设置 和这个https://coderwall.com/p/jp7d5q,它建议创建一个具有公共钩子的模板目录,并设置init.templatedir指向此目录.但是,这仅适用于在您自己的计算机上为自己设置默认挂钩.默认情况下,如何将预提交挂钩提供给整个团队?