我有一个项目与git,我只是想克隆或拉一个特定的目录,像myproject/javascript就像subversion一样。 做一些改变,提交并再次提交。 这是可能的吗?
当前回答
CD到你的回购拷贝的顶部 git获取 git checkout HEAD路径/到/your/dir/或/文件 (3)中的“path/…”开始于包含“…/文件”的repo根目录下面的目录 注意,可以使用特定提交的哈希码而不是“HEAD”,然后您将获得特定于该提交的revision (file)或revisions (dir)。
其他回答
CD到你的回购拷贝的顶部 git获取 git checkout HEAD路径/到/your/dir/或/文件 (3)中的“path/…”开始于包含“…/文件”的repo根目录下面的目录 注意,可以使用特定提交的哈希码而不是“HEAD”,然后您将获得特定于该提交的revision (file)或revisions (dir)。
Git克隆——filter + Git稀疏签出只下载所需的文件
我不确定拉/取,但至少对于最初的克隆,这个选项与远程协议的更新一起添加,它真正阻止了从服务器下载对象。
例如,只克隆这个存储库的大/子目录所需的对象:https://github.com/cirosantilli/test-git-partial-clone-big-small我可以做:
git clone --depth 1 --filter=blob:none --sparse \
https://github.com/cirosantilli/test-git-partial-clone-big-small
cd test-git-partial-clone-big-small
git sparse-checkout set small
我已经详细介绍了这一点:如何克隆Git存储库的子目录?
很可能在这个领域中为git克隆实现的任何东西都有git pull类似物,但我还不能很容易地找到它。
2021年1月在git 2.30.0上测试。
也许这个命令会有帮助:
git archive --remote=MyRemoteGitRepo --format=tar BranchName_or_commit path/to/your/dir/or/file > files.tar
“就是这样”
如果你想在不进入目录的情况下获得目录的最新更改,你可以这样做:
$ git -C <Path to directory> pull
有时,您只是想查看一下以前的文件副本,而不需要进行繁琐的差异处理。
在这种情况下,克隆存储库并签出感兴趣的特定提交并查看克隆存储库中的子目录也很容易。因为一切都是本地的,你可以删除这个克隆当你完成。
推荐文章
- 如何从查找“类型d”中排除此/ current / dot文件夹
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 本地存储库中的文件与源文件之间的差异
- 将Git存储库内容移动到另一个存储库,保存历史记录