我知道我可以用git clone --depth 1 <branch-name> <repository>做一个浅浅的克隆。
我知道我可以使用git pull进行新的更改。
但是,是否有一种在清除尾部的同时实现git pull的方法,因此最终在文件系统中只有一次提交(就好像我要在新版本上执行clone --depth 1一样)?
发布于 2022-05-27 09:53:01
git pull和git clone都隐式地做了git fetch,这意味着它们都有很多参数。深度是其中之一,所以git pull --depth=1应该这么做.
但只有在历史重叠的情况下才有效,否则git会这样说:
致命:拒绝合并不相关的历史
这似乎是可行的:
git fetch --depth=1 && git reset --hard FETCH_HEAD发布于 2022-05-27 12:54:02
最好不要使用git pull。如果需要的话,它可以做一些您不能做得更好的事情,然后是一些git fetch处理命令。
此外,在您的例子中,我还会问您是否需要这个分支的本地副本;如果您只想查看它,或者从它生成一个特性分支,只需说git fetch --depth 1和git switch --detached origin/branchname,然后从那里继续。
这样,就没有保存不需要的提交的本地branchname。(为了确保这一点,您需要说一次git branch -D branchname。)
https://stackoverflow.com/questions/72403265
复制相似问题