我有一个项目与git,我只是想克隆或拉一个特定的目录,像myproject/javascript就像subversion一样。 做一些改变,提交并再次提交。 这是可能的吗?
当前回答
CD到你的回购拷贝的顶部 git获取 git checkout HEAD路径/到/your/dir/或/文件 (3)中的“path/…”开始于包含“…/文件”的repo根目录下面的目录 注意,可以使用特定提交的哈希码而不是“HEAD”,然后您将获得特定于该提交的revision (file)或revisions (dir)。
其他回答
这是不可能的。你需要调出所有的存储库。
有时,您只是想查看一下以前的文件副本,而不需要进行繁琐的差异处理。
在这种情况下,克隆存储库并签出感兴趣的特定提交并查看克隆存储库中的子目录也很容易。因为一切都是本地的,你可以删除这个克隆当你完成。
如果你想在不进入目录的情况下获得目录的最新更改,你可以这样做:
$ git -C <Path to directory> pull
对于我所做的理论文件路径和示例的所有斗争,这里有一个真实的例子: 微软在git hub上提供了他们的文档和示例,不幸的是,他们确实在这个存储库中收集了大量主题的所有示例文件:
https://github.com/microsoftarchive/msdn-code-gallery-community-s-z
我只对路径中的Microsoft Dynamics js文件感兴趣
msdn-code-gallery-community-s-z/Sdk.Soap.js/
所以我做了以下的事情
创建一个
msdn-code-gallery-community-s-zSdkSoapjs\.git\info\sparse-checkout
文件在我的存储库文件夹在磁盘上
git sparse-checkout init
在Windows下使用CMD在该目录中
的文件内容
msdn-code-gallery-community-s-zSdkSoapjs\.git\info\sparse-checkout
is
Sdk.Soap.js/*
最后做一个
git pull origin master
CD到你的回购拷贝的顶部 git获取 git checkout HEAD路径/到/your/dir/或/文件 (3)中的“path/…”开始于包含“…/文件”的repo根目录下面的目录 注意,可以使用特定提交的哈希码而不是“HEAD”,然后您将获得特定于该提交的revision (file)或revisions (dir)。
推荐文章
- 如何在Visual Studio中删除未推送的外向提交?
- Git在两个不同的文件之间的差异
- 我如何使用vimdiff来解决git合并冲突?
- 如何将更改提交到另一个预先存在的分支
- 为什么使用'git rm'来删除文件而不是'rm'?
- 我如何安装imagemagick与自制?
- 致命:git-write-tree:错误构建树
- Git克隆远程存储库的特定版本
- 如何在Python中获取当前执行文件的路径?
- git隐藏的意图用例是什么?
- 从远程Git存储库检索特定的提交
- 如何配置git bash命令行补全?
- 我如何迫使git拉覆盖每一个拉上的一切?
- 撤销“git add <dir>”?
- 是否可以在不先签出整个存储库的情况下进行稀疏签出?