我有一位同事声称git pull
有害,并且每当有人使用它时都会感到不安。
git pull
命令似乎是更新本地存储库的规范方法。使用git pull
会产生问题吗?它创造了什么问题?有没有更好的方法来更新git存储库?
答案 0 :(得分:194)
我的回答,摘自arose关于HackerNews的讨论:
我很想用热门新闻头条新闻回答这个问题:为什么git pull
被视为有害?事实并非如此。
答案 1 :(得分:26)
如果您正确使用Git,则认为不会有害。鉴于您的用例,我看到它对您产生的负面影响,但您可以通过不修改共享历史记录来避免问题。
答案 2 :(得分:17)
接受的答案声称
无法将rebase-pull操作配置为保留合并
但是从Git 1.8.5开始,这个帖子就是答案,你可以
git pull --rebase=preserve
或
git config --global pull.rebase preserve
或
git config branch.<name>.rebase preserve
docs说
当
preserve,
也将--preserve-merges
传递给'git rebase'时,运行'git pull'不会使本地提交的合并提交变平。
前面的讨论有更详细的信息和图表:git pull --rebase --preserve-merges。它还解释了为什么git pull --rebase=preserve
与git pull --rebase --preserve-merges
不同,后者没有做正确的事。
此前的其他讨论解释了rebase的保留合并变体实际上做了什么,以及它如何比常规rebase复杂得多:What exactly does git's "rebase --preserve-merges" do (and why?)
答案 3 :(得分:0)
如果您转到旧的git存储库 git up ,则它们建议的别名是不同的。 https://github.com/aanand/git-up
git config --global alias.up 'pull --rebase --autostash'
这对我来说很完美。