Git:使用非托管文件夹

时间:2016-01-09 18:02:57

标签: git directory unmanaged synchronize

我有两个包含相同文件的文件夹。

  • gitprojects / npm_project
  • gitprojects /了projectA / node_modules / npm_project

第一个文件夹是用git管理的,第二个文件夹不是。 我正在编辑第二个文件夹中的文件。在那里工作更容易。

完成工作后,我想将更改的文件复制到第一个文件夹。 我可以使用cp -R。但这可能不太好,我不想复制所有文件,这可能很危险,我可以覆盖文件更改。

git是否提供了一个很好的功能,将文件夹与非托管文件夹进行比较,然后将它们合并?

2 个答案:

答案 0 :(得分:2)

确保您已对文件夹1(gitprojects/npm_project)的内容进行了提交。由于文件夹1现在完全由Git管理(即,您只需使用Git命令就可以返回到先前的状态),您可以将文件夹2中的所有文件复制到文件夹1 - 无需担心文件要复制,因为您可以在复制后从文件夹1中删除它们。

将文件夹2中的所有文件复制到文件夹1,只需使用git statusgit diff即可查看文件夹2中的更改。

注意:从长远来看,您会发现在版本控制中维护所有源码要容易得多。

答案 1 :(得分:0)

我有一个更好的主意:

我在rm -rf之后使用npm install删除文件夹2中的所有文件,并创建指向文件夹1的符号链接:

cd gitprojects/projectA
npm install
code node_modules
rm -rf npm_project
ln -s /full/path/to/gitprojects/npm_project npm_project