gpt4 book ai didi

git - 我可以将 .git 复制到另一个目录吗?

转载 作者:IT王子 更新时间:2023-10-29 01:04:11 24 4
gpt4 key购买 nike

我继承了一个存储在 CVS 中的项目。之前的开发人员在他的工作目录中有大量未提交的更改,包括删除大量文件,我想检查一下。这是我的计划:

  1. cvs checkout the_project。
  2. 关注the remote cvs / local git workflow ,使用 the_project 的原始状态初始化 git 存储库。
  3. 将新的 .git 复制到另一个工作目录。
  4. 急!所有删除/更改都显示为未分阶段的差异。

这最初看起来会奏效。我应该担心的任何重大陷阱?

最佳答案

我一直在做类似的事情。我使用 GIT 跟踪大型 SVN 项目的多个版本和多个分支。该项目在“src”的子目录中有约 200 个 SVN 模块。当我启动 GIT 存储库时,我检查了项目的 v9.4.4,做了一个“git init”添加了 .gitignore 和 .gitattributes,做了一个“git add -A”和“git commit -m 'v9.4.4'”。然后我 .git 移出了项目并创建了一个指向它的符号链接(symbolic link)。当 v9.4.5 版本发布时,我检查了它,添加了一个指向现在共享的 .git 目录的符号链接(symbolic link),添加了 .gitignore 和 .gitattributes,执行了 'git add -A' 和 'git commit -m 'v9。 4.5'。此时,我有一个从两个目录符号链接(symbolic link)的 GIT 存储库。

通过此设置,您可以执行任何不触及工作目录的 git 操作。因此,对于我的应用程序,“git diff v9.4.4..v9.4.5”效果很好。当然,您也可以执行触及索引和工作目录的 git 操作,但您需要注意该存储库位于您所在版本的正确提交位置。

我也将其用于多个分支。在那种情况下,使用“git symbolic-ref HEAD refs/heads/a-branch”来更改分支是很重要的而不接触工作目录。因此,当我的项目版本 s3 出现时,我做了一个“git branch s3 v9.4.4”,创建了我的 .git 符号链接(symbolic link),做了“git symbolic-ref HEAD refs/heads/s3”,然后用“add”和“提交。”

关于git - 我可以将 .git 复制到另一个目录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com