有没有与git archive相反的命令用于导入zip文件?

5
我们本地的工作流程通常使用一系列zip文件作为本地“源代码控制”,在主要修订被正式纳入“大”公司SCM系统之前。我正在尝试引入git作为更好的本地SCM方法。当前的工作流对于我们的小团队来说相当有效,特别是测试机器不在网络上时,zip传输很容易,因此我需要能够将这两种方法衔接起来。
是否有一个git命令可以导入项目zip文件并提交它?
还是需要手动检查本地工作目录/分支是否干净 git status,删除所有当前内容 git rm *,将zip文件解压缩到目录中,添加所有内容 git add .,最后提交 git commit -a -m "filename.zip"。由于我们正在Windows上工作,所以最小化出错机会很重要,所以命令越少越好!
这至少允许犹豫不决的现有用户决定何时进行git转换,同时使存储库运行起来。
有关适当命令或脚本的任何建议?

有没有想过使用pre-commit hook来解压文件,这样你就可以将实际的源文件添加到git中,而不是一个不透明的zip文件? - Marc B
1
@Marc:这有点棘手。在它被证明能够与当前已经建立的工作流程整合之前,没有人会使用Git,因此zip文件(例如 ProjectName_V1_2_3_What_its_about.zip)是源代码管理(SCM)(总共160个),我必须与之一起工作。最好能像“dump_the_zip_into_git filename.zip”这么简单,就可以将他们吸引过来并开始使用。我可以调整一些分支和合并链接,但尝试使用钩子还为时过早。 - Philip Oakley
@PhilipOakley:这正是我所想的...抱歉。不过如果你设法让每个人都使用git,那以后可能会很有趣。 - greg0ire
在我看来,您已经自己提出了最佳解决方案。只需将您命名的命令打包到一个 .bat 脚本中,您就可以拥有一个单一的命令(称其为 gitunzip.bat...)。 - p4010
我正在慢慢地进行所有必要的检查和平衡操作。我也在考虑它应该是一个DOS '.bat'文件,还是一个bash '.sh'文件,或者一个git别名——当时,在Git for Windows bash端上并没有可用的解压方法,不过看起来下一个版本将使其对所有人都可用。 - Philip Oakley
显示剩余3条评论
1个回答

0
为什么不为解压缩创建一个git别名,该别名运行您在问题中提到的所有命令。

马克:当时在 msysgit 版本的 git 中没有 unzip,所以不可能。Git v1.7.7 添加了 unzip。我还有一些事情要处理,因为 zip 文件中顶层目录的名称每次都会更改...(TLD 名称是版本字符串!) - Philip Oakley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接