本文以gitee为例讲解,git怎么与gitee进行远程关联,以及每个命令的真正的使用含义
-
git整体讲解
git有工作区、暂存区、本地版本库、远程版本库,这四部分组成本地区:代码放在电脑磁盘上的位置。
暂存区:内存中临时存在的位置,通过本地区使用命令就可以放置到暂存区,暂存区可以对本地提交的内容进行一些修改,做出是否要放置到本地版本库的决定。
本地版本库:本地对代码进行管理,每次提交到本地版本库中的代码,都是一个版本,可以查看版本号,并且根据版本号推到指定的某个版本。
远程版本库:就是将本地的版本库交给一个远程的版本库,让远程的版本库来管理。因为是远程的版本库所以可以多个人共同管理,可以用来团队共同开发功能。
-
git上传到本地以及远程的命令
(1).在本地版本库的命令
把文件添加到暂存区
-
初始化仓库
git init
-
添加指定文件
git add 文件名
-
一次添加多个文件
git add .
-
提交暂存器内容到版本库
git commit -m '本次提交的说明'
(2).连接远程并推送本地仓库代码到远程仓库
-
Git全局设置
git config --global user.name "想要飞翔的企鹅" git config --global user.email "[email protected]"
这个设置就相当于本地git仓库识别标识,当你把本地仓库的代码推送到远程仓库时,会有一个推送的统计信息,如下图所示:
邮箱号就相当于你的标识,user.name就相当于邮箱号所对应的名字,统计信息显示的就是邮箱号所对应的名字。
这个配置文件的位置,你可以在你本地找到,如下图所示:
这是一个全局变量的配置命令,当然有全局就有局部,局部配置文件所在的位置在你项目的根目录下,是一个隐藏文件夹,你需要打开隐藏文件夹才能看到。局部的配置命令为:
git config user.name 'zhangssan' git config user.email '用户邮箱'
当你在某一个项目下提交文件时,会先找局部的配置如果找不到,在找全局的,如果你推送到远程成功了,这个时候的统计信息就是你局部配置的用户名。
如下图所示:
如果你配置的邮箱地址与gitee上的一样,那么gitee会认为该用户名就是创建的gitee的用户,这个时候不配置用户名,当推送到远程成功后,统计信息显示的就是该gitee账号的用户名。-
配置本地与远程连接的ssh
具体的配置步骤我就不讲解了,这个在网上有很多,很容易就可以搜索到,这个配置的作用就是建立起gitee仓库与git本地仓库之间的联系,当你执行往远程的推送命令之后,不会弹出,让你去提供与那个gitee建立起联系的链接,通俗来说就是提前建立本地与远程的连接,方便推送命令执行。 -
建立本地仓库与远程仓库的联系
在本地的master分支下面执行下面的命令git remote add origin https://gitee.com/dielianhuaa/test-repository.git
这个是建立的本地master与远程的master的联系的命令
-
推送命令
-
首次推送执行命令
git push -u origin master
-
再此推送命令
git push
-
-
-
本地版本的管理
查看所以提交的版本信息
git log
工作区退回到上一个版本
git reset --hard 版本号
-
idea操作git小提示
如果idea用快捷键执行命令出现卡顿,或者没有效果的现象,可以在Terminal上用命令操作,在这里用命令和在Git bash上使用命令是一样的
查看文件退出的命令是:
q
-
对版本冲突的理解
这个是我现在个人的理解可能会有错误,仅做一个思路版本冲突为什么会发生在两个用户提交代码上,是因为自己写的代码,即使把原来写的内容改掉也是没有问题的,还是在这个版本的基础上进行的更改,所以没有版本冲突的。
版本冲突发生的情况是别的用户将远程代码拉去下来,然后更改了内容,又推送到远程上去了,这个时候远程的代码的版本号会发生改变,而我们先将代码pull到本地仓库中,在提交,这时我们在工作区中的代码内容已经与本地仓库中的代码有了一部分是冲突的(即这个类中,我是这么处理的,它是那么处理的),这样就到这了提交的时候的冲突问题,这个时候我们就需要查看,冲突的地方在哪里,然后将别人的与我们的代码进行融合,然后再提交,就解决了冲突问题。