我想为git存储库设置一些默认别名和其他配置,这样当新用户克隆它时,他们就会在该项目中立即为他们提供这些别名。
即,我想这样做:
##Wrote some code that works fine until I try to open the same excel
workbook again###
workbook.close()
book = xlrd.open_workbook('path')
sheet=book.sheet_by_index(0)
sheet = book.get_sheet_by_name('Sheet1')
book_wt=copy(book)
sheet_wt=book_wt.get_sheet(0)
然后以File "C:/Users/MakeFile.py", line 135, in <module>
book=xlrd.open_workbook('W:\\User\\Folder1\\MakeFile.xlsx')
File "C:\Python27\ArcGIS10.3\lib\site-packages\xlrd\__init__.py", line 416, in open_workbook
ragged_rows=ragged_rows,
File "C:\Python27\ArcGIS10.3\lib\site-packages\xlrd\xlsx.py", line 800, in open_workbook_2007_xml
zflo = zf.open(component_names['xl/_rels/workbook.xml.rels'])
TypeError: list indices must be integers, not unicode
结尾,其中包含一些预设别名,例如:
git clone <remote-repo>
我以为我可以在远程存储库中编辑.git/config
,但这不起作用。
我有什么方法可以实现这一目标吗?
答案 0 :(得分:2)
你不能直接这样做。一些配置(如工具)非常依赖于平台(有时依赖于用户),git会尝试避免使用您的存储库为每个人带来问题。
例如,您当然不希望允许某人为整个仓库设置默认的非本地用户名和电子邮件,或者最终在Windows结帐时使用一堆仅限Linux的合并工具。
话虽如此,没有什么可以阻止您在项目的根目录中输入您想要的任何命令的脚本,并要求用户在首次克隆时运行它。当您已经手动克隆项目时,这相对较少。例如,要设置别名,请在脚本中执行以下操作:
error
这还有一个额外的好处,就是可以为不同的平台编写不同的脚本。
答案 1 :(得分:1)
我不鼓励尝试将git首选接口强加给其他用户只是因为他们克隆了你设置的repo。可能只是您使用了一个过于简化的示例,但是直言不讳的是,用户是否将st
设置为status
的别名是不是您的业务。
如果您认为为什么使用您的repo 真正调用某些别名有一些原因,那么您可以包含一个脚本,将其设置在项目的根目录中。然后,您可以以任何您喜欢的方式记录它 - 自述文件,项目页面上的注释等等。
但仅仅克隆的行为导致别名被设置 - 甚至是新克隆的本地 - 将是一个巨大的安全漏洞,所以不仅不能这样做,而且我希望这永远不会改变