首页
学习
活动
专区
圈层
工具
发布

清尾
EN

Stack Overflow用户
提问于 2022-05-27 09:27:29
回答 2查看 69关注 0票数 2

我知道我可以用git clone --depth 1 <branch-name> <repository>做一个浅浅的克隆。

我知道我可以使用git pull进行新的更改。

但是,是否有一种在清除尾部的同时实现git pull的方法,因此最终在文件系统中只有一次提交(就好像我要在新版本上执行clone --depth 1一样)?

EN

回答 2

Stack Overflow用户

发布于 2022-05-27 09:53:01

git pullgit clone都隐式地做了git fetch,这意味着它们都有很多参数。深度是其中之一,所以git pull --depth=1应该这么做.

但只有在历史重叠的情况下才有效,否则git会这样说:

致命:拒绝合并不相关的历史

这似乎是可行的:

代码语言:javascript
复制
git fetch --depth=1 && git reset --hard FETCH_HEAD
票数 4
EN

Stack Overflow用户

发布于 2022-05-27 12:54:02

最好不要使用git pull。如果需要的话,它可以做一些您不能做得更好的事情,然后是一些git fetch处理命令。

此外,在您的例子中,我还会问您是否需要这个分支的本地副本;如果您只想查看它,或者从它生成一个特性分支,只需说git fetch --depth 1git switch --detached origin/branchname,然后从那里继续。

这样,就没有保存不需要的提交的本地branchname。(为了确保这一点,您需要说一次git branch -D branchname。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72403265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档