我在我的python程序中使用制表符缩进,但我想与使用空格的人合作(使用git).
有没有办法让git在推/取时自动在空格和制表符之间进行转换(例如,4个空格= 1个制表符)?(类似于CR/LF转换)
我已经开始使用Github来托管我的大部分代码,包括我的Matlab代码.事实证明,Github语法根据其扩展而不是文件内容突出显示代码.这对于Matlab m文件来说并不是那么好.它们被识别为Objective-C文件,也是.m,并且未正确识别/突出显示.如果它们具有.matlab扩展名,Github会突出显示Matlab m文件,但问题是Matlab似乎拒绝运行没有.m扩展名的文件.我无法提出解决方案,因为我希望我的matlab文件能够与Github和Matlab很好地配合使用.所以这里有几个问题:
有没有办法在推送到Github时将所有.m文件转换为.matlab扩展名?在从Github获取或克隆时,还需要将.matlab文件转换为.m扩展名吗?
如果1.不可能,有没有办法让Matlab运行具有.matlab扩展名的文件?
如果是1或2,我会喜欢一些提示或如何做到这一点的例子.
为公司内部使用的项目设置 git repo 的最佳方法是什么,但您也想开源(但可能会修改历史)?
假设 Acme 公司有一个回购“supercoolproject”。他们想要开源它,但他们实际上根本不想要与它相关联的公司名称。他们以开发人员的名字(或组等)设置了一个 GitHub 帐户,并创建了存储库。他们将其克隆到内部 Acme 服务器。没有提到“Acme”。
现在问题来了——在任何给定的组织中,都有了解开源并被授权将一些代码公开的开发人员。还有其他人不了解所有细微差别。当其中之一进行提交时,可能会包含公司名称或其他一些专有信息。或者,他们只是做了一个可以在内部恢复的可怕的提交(不是重写历史——我只是在谈论添加一个“恢复”提交)。但是,您不希望这些专有提交进入开源分支。
因此,您创建了“acme_internal_{dev,qa,production}”分支和一个外部“master”分支(也可能是其他分支)。保持这些同步的最佳方法是什么?您希望接受对开源存储库的提交。并且您想推送(大部分)您的内部提交。但是有一些是不应该出去的。
似乎合并 internal -> external 是一件坏事,因为您无法删除错误的提交。可以在内部分支上重新设置外部分支,但似乎一旦您“git rebase -i acme/acme_internal_dev”一次并修改历史记录(更改提交消息、删除提交等),您就不能再重新设置基准,因为两个历史背道而驰。那么,您是否最终将所有内部提交都挑选到公共分支,然后将公共分支合并到内部树中?这看起来也很丑陋,因为您最终会在内部重复提交(原始提交,然后是精心挑选的进入外部并合并回内部的提交)。
出于这个问题的目的,让我们假设 Acme 在内部希望避免在其内部分支上重写历史记录(实际上是删除/修改错误提交)。
git ×3
git-rebase ×1
github ×1
indentation ×1
matlab ×1
merge ×1
open-source ×1
rebase ×1
tabs ×1