最近闲来无聊,虽然会使用git操作,但是 git fetch
和 git pull
的区别,git merge
和 git rebase
的区别只是一知半解,稍微研究一下;
git fetch
和 git pull
的区别
git fetch
git fetch
是将远程仓库中的改动拉到本地,但是不会主动和本地项目中的代码进行合并,需要你主动操作git merge
,然后才能进行合并。
git pull
git pull
其实就等于 git fetch + git merge
,它会拉取指定的分支,然后主动和本地当前的分支代码进行合并,如果产生冲突会需要你进行解决。
git merge
和 git rebase
的区别
git merge
git merge
是将远端代码合并到本地,同时会产生一条 merge branch xxx into xxxx 的记录
,同时会保留所有的提交细节。
git rebase
git rebase
则是变基,这里我采用git
官方介绍的一个实例来解释;
如下图,当我们新开发的分支 experiment
已经和master
有了分叉后,我又不想使用