git fetch和git pull区别
- git pull是git fetch 和 git merge的组合
- git fetch:就是把远程的更新都拉取到本地,但是内容不会更新,打个比方,就是把commit的记录都拿过来了,
但是本地还是停留在原来的位置,没有移动到最新的提交处 - git pull:把远程的更新都拉取到本地,并移动到最新的提交处(此处可能有冲突,如果本地没有commit过,也就是说还是停留在原地,
那么就可以fast-merge,如果本地commit过了,就等于说是离开了原地,那么可能就会产生不可fast-merge的冲突,需要自己手动merge)
git push
- git push的时候:要是远程还在原地(原地:就是git pull后,远程没有commit过),那么可以直接push
- 要是远程没有在原地了,就需要git pull一下,更新本地到最新处,然后merge冲突,然后git add 再 git commit 最后git push