一.问题说明
上传项目的时候发现有个commit和push,这两个有什么区别呢
二.git关键字
首先要知道git中有三个关键
暂存区,本地仓库和远程仓库
暂存区:每一次进行代码修改的地方,如idea
本地仓库:我们每一次pull,从远程仓库pull(拉取)到这个地方,这个地方就是本地仓库,他其实就是远程仓库的一个副本
远程仓库:存放到服务器上的代码,是每一个人认为自己的代码修改好了,就可以集体上传到这个地方,而且你也可以从这个地方下载别人的代码,这个地方就是远程仓库。
三.区别
那pull,commit和push的区别 是什么呢
pull:这个是远程仓库拉取数据到本地仓库,就是为了和远程仓库所匹配
commmit:当我们想要把自己的代码提交到远程的时候所用的命令语句,但是由于我们修改所在的区域在暂存区,所以我们首先要把自己的代码commit(提交)到本地仓库,然后在从本地仓库push到远程仓库
push:现在已经把暂存区的代码提交到了本地仓库,这时如果需要提交到远程服务器上,则需要把代码push到远程分支里面,如果有了冲突在解决就好
四.注意事项
注意:先pull再push,不然可能会有冲突
我们如果每一次在commit的时候,我们都需要先从线上pull最新的代码到本地仓库,然后在把暂存区里面的代码提交到本地仓库,这个时候如果没有冲突固然是最好的,如果有了冲突,这我需要解决冲突,这个此时本地仓库已经是最新的代码且又包括暂存区上面的代码了(至于先commit还是先pull,这个说法不一)
五.疑惑
为什么要分本地commit和远程服务器的push呢
因为如果本地不commit的话,修改的纪录可能会丢失。 而有些修改当前是不需要同步至服务器的,所以什么时候同步过去由用户自己选择。什么时候需要同步再push到服务器
|