草庐IT

git - 将许多子目录分离到一个新的、独立的 Git 存储库中

本题基于DetachsubdirectoryintoseparateGitrepository我不想分离一个子目录,而是要分离几个。例如,我当前的目录树如下所示:/apps/AAA/BBB/CCC/libs/XXX/YYY/ZZZ我想要这样:/apps/AAA/libs/XXX--subdirectory-filter到gitfilter-branch的参数将不起作用,因为它会在第一次运行时删除除给定目录之外的所有内容。我认为对所有不需要的文件使用--index-filter参数会起作用(尽管很乏味),但如果我尝试多次运行它,我会收到以下消息:Cannotcreateanewbacku

git - 将许多子目录分离到一个新的、独立的 Git 存储库中

本题基于DetachsubdirectoryintoseparateGitrepository我不想分离一个子目录,而是要分离几个。例如,我当前的目录树如下所示:/apps/AAA/BBB/CCC/libs/XXX/YYY/ZZZ我想要这样:/apps/AAA/libs/XXX--subdirectory-filter到gitfilter-branch的参数将不起作用,因为它会在第一次运行时删除除给定目录之外的所有内容。我认为对所有不需要的文件使用--index-filter参数会起作用(尽管很乏味),但如果我尝试多次运行它,我会收到以下消息:Cannotcreateanewbacku

git - 在 Git 中检查子目录?

是否可以在Git中checkout存储库的子目录?假设我正在设置一个新的WordPress安装。我将为我的插件和主题自定义创建两个新目录:wordpress/wp-content/plugins/myplugins/wordpress/wp-content/themes/mytheme/我想通过Git维护这些目录。在Subversion中,我将通过拥有trunk/myplugins/和trunk/mytheme/目录并checkout子目录来完成此操作。Git是否有办法使用单个存储库完成相同的任务?作为一个很少接触Git的SVN长期用户,我可能只是错过了一些Git范例。编辑:Multi

git - 在 Git 中检查子目录?

是否可以在Git中checkout存储库的子目录?假设我正在设置一个新的WordPress安装。我将为我的插件和主题自定义创建两个新目录:wordpress/wp-content/plugins/myplugins/wordpress/wp-content/themes/mytheme/我想通过Git维护这些目录。在Subversion中,我将通过拥有trunk/myplugins/和trunk/mytheme/目录并checkout子目录来完成此操作。Git是否有办法使用单个存储库完成相同的任务?作为一个很少接触Git的SVN长期用户,我可能只是错过了一些Git范例。编辑:Multi

git - 如何 git reset --hard 一个子目录

UPDATE²:WithGit2.23(August2019),there'sanewcommandgitrestorethatdoesthis,seetheacceptedanswer.UPDATE:ThiswillworkmoreintuitivelyasofGit1.8.3,seemyownanswer.想象一下以下用例:我想删除我的Git工作树的特定子目录中的所有更改,而保留所有其他子目录不变。我可以gitcheckout.,但是gitcheckout.addsdirectoriesexcludedbysparsecheckout有gitreset--hard,但它不允许我对子

git - 如何 git reset --hard 一个子目录

UPDATE²:WithGit2.23(August2019),there'sanewcommandgitrestorethatdoesthis,seetheacceptedanswer.UPDATE:ThiswillworkmoreintuitivelyasofGit1.8.3,seemyownanswer.想象一下以下用例:我想删除我的Git工作树的特定子目录中的所有更改,而保留所有其他子目录不变。我可以gitcheckout.,但是gitcheckout.addsdirectoriesexcludedbysparsecheckout有gitreset--hard,但它不允许我对子

git - 如何显示 Git 存储库子目录的 Git 日志历史记录(即所有相关提交)

假设我有一个如下所示的Git存储库:foo/.git/A/...bigtreehereB/...bigtreehere有没有办法让gitlog只显示特定目录的日志消息?例如,我只想查看哪些提交触及了foo/A中的文件。 最佳答案 来自目录foo/,使用gitlog--A你需要'--'来分隔..来自..引用规范。#Showchangesforsrc/nvfs$gitlog--oneline--src/nvfsd6f6b3bChangesforMacOSX803fcc3InitialCommit#Showallchanges(onead

git - 如何显示 Git 存储库子目录的 Git 日志历史记录(即所有相关提交)

假设我有一个如下所示的Git存储库:foo/.git/A/...bigtreehereB/...bigtreehere有没有办法让gitlog只显示特定目录的日志消息?例如,我只想查看哪些提交触及了foo/A中的文件。 最佳答案 来自目录foo/,使用gitlog--A你需要'--'来分隔..来自..引用规范。#Showchangesforsrc/nvfs$gitlog--oneline--src/nvfsd6f6b3bChangesforMacOSX803fcc3InitialCommit#Showallchanges(onead

git - 如何将 Git 子模块添加到子目录?

我在~/.janus/中有一个Git存储库里面有一堆子模块。我想在~/.janus/snipmate-snippets/snippets/中添加一个子模块,但是当我运行gitsubmoduleadd在snipmate-snippets目录,我收到以下错误消息:Youneedtorunthiscommandfromthetopleveloftheworkingtree.所以问题是:如何将子模块添加到snipmate-snippets目录? 最佳答案 你进入~/.janus并运行:gitsubmoduleaddsnipmate-snip

git - 如何将 Git 子模块添加到子目录?

我在~/.janus/中有一个Git存储库里面有一堆子模块。我想在~/.janus/snipmate-snippets/snippets/中添加一个子模块,但是当我运行gitsubmoduleadd在snipmate-snippets目录,我收到以下错误消息:Youneedtorunthiscommandfromthetopleveloftheworkingtree.所以问题是:如何将子模块添加到snipmate-snippets目录? 最佳答案 你进入~/.janus并运行:gitsubmoduleaddsnipmate-snip