Clo*_*omp 2 git smartgit gitlab
如何“取消嵌套”git 文件夹?
\n\n我有一个组件,已上传到GitLab。我想将该代码的一部分包含到一个全新的 GitLab 存储库中。
\n\n当我将 /code/ 文件夹包含到新的 Git 存储库中时,它告诉我该文件夹处于某种Nested Root状态。我正在使用SmartGit,它似乎显示文件包,而不是单个文件夹和文件。
当我尝试使用 SmartGit 将其添加到 GitLab 中时,它希望为我的原始组件(也在 GitLab 中)创建一个子模块。我真的不想将它链接到当前/cleanRepo/和任何/existingRepo/. 我知道 SVN 曾经有很多隐藏的 .properties 文件。Git 似乎也有这些。所以我可能需要让它忘记所有以前的存储库的 Git 信息。
背景故事/原因:我想在我想要在将来构建的所有全新组件中重复使用一些已完成组件的代码。每当我克隆新存储库并想要构建新组件时,我不想将完全构建的组件的代码复制并粘贴到新文件夹中。我不想每次创建新组件时都必须删除该新组件中不应该包含的内容。所以我想创建一个干净的存储库,其中包含起始代码的主副本。假设它包含完整构建组件的 1/3 代码。我将把这个 clean/master 代码文件夹复制到每个新的 Git 存储库文件夹中。然后我将进入新组件的文件夹以扩展该文件夹中复制的代码。这将成为构建新组件的一种很好的干净的千篇一律的方法,我可以避免删除过多的文件和编辑多个文件,从而删除大量代码。
\n\n理想的例子:
\n\ncd /cleanRepo/code/\ncp -R ./* ~/someNewFolder\ncd ~/someNewFolder\n ^-- start editing that code, but don\'t edit any /cleanRepo/code/\nRun Code Online (Sandbox Code Playgroud)\n\n有没有一种简单的方法来“取消嵌套”git 文件夹?我想查看我想要包含的文件夹和文件的列表。不是\xc2\xa0“嵌套根”捆绑包。
\n是的,有一个简单的方法可以做到这一点!我在喝完第二杯咖啡后才发现这一点。使用这些命令将允许所有文件在 SmartGit 中显示为展开的文件列表。然后它们可以单独包含,而不是捆绑为Nested Root子模块。
cd /cleanRepo/code/
ls -a
rm -rf .git*
find . -exec touch {} \;
Run Code Online (Sandbox Code Playgroud)
因此,如果其他人遇到这个问题,这就是解决方法。
顺便说一句,使用ls -a显示了隐藏文件的列表:
.
..
.editorconfig
.eslintignore
.eslintrc
.git
.gitattributes
.gitignore
.gitlab-ci.yml
.npmignore
Run Code Online (Sandbox Code Playgroud)
请确保您不使用,rm -rf *.*因为它会强制并默默地删除所有内容!
关于这些文件,我注意到一件事。在某些文件夹中,我必须进入它们并执行以下操作,才能使子文件夹出现在 SmartGit 中:
cd /subfolder/
touch abc
rm abc
Run Code Online (Sandbox Code Playgroud)
这允许带有子文件夹的文件显示为单独的文件。
我添加了一种方法来自动执行子目录遍历和触摸过程,而无需为其编写脚本。就是find . -exec touch {} \;上面那行。如果这对您不起作用,请进入子文件夹,触摸文件(或创建新文件+删除它),然后文件就会出现!
| 归档时间: |
|
| 查看次数: |
4557 次 |
| 最近记录: |