我有一个项目与git,我只是想克隆或拉一个特定的目录,像myproject/javascript就像subversion一样。 做一些改变,提交并再次提交。 这是可能的吗?
当前回答
有时,您只是想查看一下以前的文件副本,而不需要进行繁琐的差异处理。
在这种情况下,克隆存储库并签出感兴趣的特定提交并查看克隆存储库中的子目录也很容易。因为一切都是本地的,你可以删除这个克隆当你完成。
其他回答
这是不可能的。你需要调出所有的存储库。
如果你想在不进入目录的情况下获得目录的最新更改,你可以这样做:
$ git -C <Path to directory> pull
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 init
git remote add [REMOTE_NAME] [GIT_URL]
git fetch REMOTE_NAME
git checkout REMOTE_NAME/BRANCH -- path/to/directory
有时,您只是想查看一下以前的文件副本,而不需要进行繁琐的差异处理。
在这种情况下,克隆存储库并签出感兴趣的特定提交并查看克隆存储库中的子目录也很容易。因为一切都是本地的,你可以删除这个克隆当你完成。
推荐文章
- 撤消git平分错误
- 使用.gitconfig配置diff工具
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖