我知道有一些various strategies可以在每次调用的基础上强制Git从远程完全覆盖本地文件,但是有没有办法配置get (使用git config)让git pull每次都覆盖本地文件?
发布于 2021-08-04 09:50:29
你不需要。或者,换句话说:
有没有办法配置gtt (使用
git config),让git pull每次都覆盖本地文件?
不是的。
这里有两件事值得注意:
git pull是一个很方便的命令,它可以为你运行另外两个基本的命令。
git pull运行的第二个命令是 an overwrite files命令。第一个命令是“获取提交”命令,它是git fetch。第二个命令是“以某种方式将获得的提交与当前提交相结合”命令。第二个命令是可配置的;第一个命令是不可配置的;但无论您选择哪个第二个命令,都不意味着覆盖。这意味着,如果您希望覆盖文件,请不要使用git pull__。
请注意,Git实际上并不是关于文件的。Git的全部内容就是提交。如果你对使用和使用提交不感兴趣(例如,如果你对做服务器部署感兴趣),你可能根本就不应该在这里使用Git (尽管许多人确实使用Git作为穷人的部署系统:它可以作为一个整体来使用,就像螺丝刀可以用作凿一样,如果你需要一把凿,而你只有一把螺丝刀)。
发布于 2021-08-07 16:54:58
我最好的建议是设置一个别名。
这就是我所使用的:
# ~/.config/git/config
[alias]
pf = !"git fetch --all; git reset --hard HEAD; git merge @{u}"上述别名将丢弃所有本地更改。如果你只是想要一个pull --force
# ~/.config/git/config
[alias]
pf = pull --force --no-rebase发布于 2021-08-03 17:46:19
这是通过
$ git分支--set-upstream-to branch /master
这会将本地分支设置为跟踪到上游远程分支。然后,Git pull应该会自动获取分支并将其合并到本地repo文件中。
https://stackoverflow.com/questions/68640519
复制相似问题