我不理解git pull --rebase
和git rebase
之间的区别,没有任何其他选择。
我不明白他们是安全的,良好的做法,还是非常危险的。
我可以通过在本地执行git pull --rebase
来打破历史记录吗?
答案 0 :(得分:18)
我不建议根据私人分支进行变基。通过私人我的意思是分支,你很确定只有你已经拉过。
rebase将分支的起始点更改为某个较新的提交,从而将所有提交合并到该点。这可能会导致与其存储库中存在旧分支基础的人员发生合并冲突。我总是建议使用简单合并,并且只为某些情况(例如特征分支)留下变基。
关于你的问题:
答案 1 :(得分:12)
git pull --rebase
是git fetch
的简写,然后是普通git rebase
的简写,而不是默认的git merge
。实际的不同之处在于,在重新定义代码之前,仅应用后者不会fetch来自远程的任何新提交,因为它只会考虑您的本地存储库已经知道的内容。
值得一提的是,合并冲突的出现方式与常规git pull相同。