远程仓库有两种:一种是gitee(国内),一种是github(国外),在这里我们以github为例进行讲解
github官网: https://github.com/
进入首页,点击 Sign up按钮
进入到注册页面,填写注册信息
注册完成后,就可以登录了
点击首页
Sign in
进行登录
不管使用远程仓库还是在本机上操作,还是团队内部协作都是需要先初始化本地仓库。
在D盘下,创建一个文件夹名为:github_res,将创建一个文件,完成add commit操作
如果是第一次使用github,我们需要登录的注册邮箱账号,进行验证,才可以使用,验证完之后,会弹出以下界面我们选择,创建第一个仓库
如果不是第一次使用,登录成功后我们点击右上角 + 号进行创建仓库
在以下界面填写仓库信息
在刚刚我们创建成功页面,就已经显示了我们远程仓库的地址了
也可以从github首页中,查看某个库的连接地址
远程仓库的地址:https://github.com/zjl-zhangjilu/github_res.git名字太长,如果我们每次提交文件,都要输入这么长的地址,是不是太麻烦?我们就用起别名的方式解决这个问题!
git remote -v
当前是没有任何别名的
git remote add 别名名称 远程仓库地址
* feth: 代表可以从该地址获取文件
* push: 代表可以从该地址推送文件
在本地仓库中的文件上传到远程仓库中,这就是推送
$ git push 远程仓库别名 分支
在控制台上输入命令
$ git push origin master
出现以下界面输入github的用户名和密码,最后点击Login
稍等片刻,会出现以下OpenSSH界面,输入github的用户名密码
最后提交成功
查看github已经将本地仓库中的内容推送到了github上了
将远程仓库中的内容拉取到本地仓库中,这就是克隆操作
git clone 远程仓库地址
注意:克隆操作可以帮我们完成三件事情
在实际开发中,我们都是以团队为单位进行项目开发,团队中的每一个人功能代码写完之后,都是要上传到远程仓库中的,如果该团队中的成员没有加入到团队,是不能进行代码提交等操作的。
在本地仓库github_res
中,创建test1.txt
文件,并添加内容
将test1.txt文件,添加暂存区和本地仓库中
将test1.txt文件推送到远程库中
文件虽然我们提交上去了,感觉那里不对? 现在我们所站在的角色是团队内的普通成员,团队内的成员要想提交文件,必须我们要进行加入团队,才能提交文件,而现在我们根本没有邀请,反而也能提交文件,这是不可行的!
清理缓存
当我们使用其他成员的身份进行push操作时,由于我们使用的是同一台电脑,并没有让我们输入用户名和密码,这是由于在我们本地电脑上有对github用户名和密码的缓存,所以下面我们将缓存清楚掉!
加入团队
提交到远程仓库中
此时就让我们输入用户名和密码,这个时候就要输入另外一个成员的github的用户名和密码
输入完用户名和密码之后,发现提交失败,是因为当前github账号([email protected])没有加入到团队,下面我们就要将[email protected],账号的成员加入到团队中
加入到团队操作
假设当前的账号([email protected])是项目经理,要邀请成员([email protected]),加入到团队。
首先登录项目经理的github账号。
输入要添加成员的用户名
点击邀请
在邀请列表中,选择要加入团队的成员
复制邀请链接
邀请链接:https://github.com/zjl-zhangjilu/github_res/invitations
退出当前项目经理账号,登录成员账号,并在当前地址栏中,粘贴邀请连接
被邀请成员,接收邀请
使用普通成员账号push操作
github账号需要切换到项目经理的账号进行登录,进行再次的push操作,输入普通成员的github账号
push成功
查看远程仓库
发现他们都看到有三个文件,团队协作操作成功!!!
从远程仓库中将文件拉取到本地仓库中,其实就是fetch(拉取)和merge(合并)
如果代码比较多,也为了保险起见是不是我想要的内容,可以使用fetch+merge操作
查看远程库的内容是否更新
将远程仓库中的内容拉取到本地
$ git fetch 远程仓库名称 远程仓库对应的分支
注意:拉取只是将远程仓库中的文件下载到了本地上,但是工作区中的文件并没有更新,还是原先的内容
抓取后,可以切换到远程仓库中查看内容是否正确
内容正确,进行合并操作
合并(merge):git merge origin/master
查看工作区中文件内容是否更新
如果代码简单,想省事也不需要考虑内容是否正确,可以使用pull操作
当多个用户操作同一个文件中的同一行数据,会造成冲突,下面我们就解决这个问题。
以公司项目经理角色,在github_res库中,创建文件,并保存内容,进行add commit和推送到远程库中操作。
提交文件到远程仓库【项目经理】
拉取文件【普通成员】
在这里,切换本地仓库,或者自己创建一个新的仓库【github_res1】。进行演示,今天我重新创建一个新库,进行拉取远程仓库中的数据。
到目前为止还没有产生冲突,因为还没有对同一个文件进行操作。
修改文件进行提交【普通成员】
提前清除掉电脑中github的账号和密码的缓存,使用5155xxx账号进行登录,提交数据。
修改文件并提交【项目经理】
使用项目经理的的角色修改github_res库的demo.txt文件,并提交到远程仓库中
注意:提前清除掉电脑中github的账号和密码的缓存,使用4593xxx账号进行登录,提交数据
这时,我们提交出错了,提交不上去,是因为有冲突。
在这种情况下,我们先进行拉取远程仓库中的内容,再进行推送到服务器。即可解决冲突的问题。
拉取远程仓库中的文件
以项目经理为角色进行拉取文件
查看拉取后的demo.txt文件内容
人为解决冲突
要那一个和不要那一个,根据情况而定。在这里我们都留着。
解决完冲突完之后,推送到服务器
查看远程仓库文件
一、了解什么是版本控制
二、Git概述
三、Git下载与安装教程
四、Git相关命令
五、Git分支操作
六、Git到远程仓库
七、Git配置SSH免密登录
八、IDEA集成Git