前言:
使用过github的都知道,在github上的仓库是分为公库和私库的。
公库:想下载存储在github上公库的代码,使用https下载,并输入自己的账户密码就能直接下载。
私库:当想下载github私库的代码,使用https下载,只有输入本人的账户密码才能下载,别人无法下载
那么如何邀请其他人参与自己私库项目的开发?
这里github就提供了ssh下载,只要被邀请开发的人把自己的ssh协议给开发人员,开发人员把这个ssh协议设置到项目github上后就可以联合开发私库项目了
这次博客的主要目标:
1、Git Gui的使用
2、Ssh key 介绍及使用
3、Idea配置使用并使用git
一、Git Gui的使用
下面我们详细讲一下Git 的 Gui如何使用
1.首先我们基于昨天写的本地仓库,对仓库里面的文件夹进行修改
2.然后我们在我们修改的那个仓库的文件夹点击右键,然后打开 Git Gui,
会出现如图所示:
3.我们点击这个文件 它到下面来,这个是已经缓存了
4.点击已缓存的文件,我们必须要写注释,才能提交
5.我们要用Git Gui 进行提交到远程仓库
第二步
第三步它会弹出一个框,等到出现下面图片一样就成功啦
在去远程仓库看一下
二、 Ssh key 介绍及使用
Ssh key介绍
我理解的就是每台电脑上会产生出一个ssh key,然后自己有一个远程账户,但是自己有可能有很多台电脑,
包括家里的电脑还有公司的电脑,我们可以在任意一台电脑上工作,但是如果想要每台电脑都和远程版本库时刻保持着通讯,
就需要将每台电脑的ssh key添加到远程账户,添加到远程版本库之后,远程版本库就会和已经添加的电脑进行通讯而不会和其他电脑进行通讯
建议: 所有的Git操作都通过ssh key进行,因为简单
第一步:Ssh key配置
操作分为本地电脑配置和github网站配置
1.首先我们打开Git Bash Here,我们检查下自己之前有没有已经生成ssh
注1:当cd ~/.ssh命令执行后窗口返回“no such file or directory”的时候,表示我们的电脑并没有ssh key,所以需要我们创建ssh key
注2:~表示当前用户的目录,比如我的是:C:\Users\Administrator
注3:ls命令执行后,如果本地有ssh秘钥的话会有id_rsa.pub,config,known_hosts等文件
2.接下来我们生成(或删除)秘钥
ssh-keygen -t rsa -C “xxx@xx.com”//这里的邮箱要换成自己注册时的邮箱
然后会有三个问题,直接三个回车就OK啦
然后我们在近这个C:\Users\Administrator路径看,会有一个 .ssh文件夹然后里面有两个文件,一个私钥,一个公钥
第二步:远程github仓库配置
1.选择Settings
2.选择SSH and GPG keys之后才会出现第二步的页面
3.点击 Add key 就大功告成
添加成功
第三步::测试SSH连接
1.输入测试命令
ssh -T git@github.com
如以下图这样 就连接成功啦
小结:https 和 SSH 的区别:
1.前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,需要先添加 SSH key ,否则无法克隆。
2.https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的;如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
3.Git协议push远程仓库不需要填写github账号密码,操作更加方便。
如果没有在github的官网上配置ssh key的公钥
1.首先我们进入上一篇博客创建过的私库
我们用SSH协议
2.我们要把这个私库克隆到本地去
3.克隆成功后,我们看一下文件夹,然后我们在文件夹建一个文件
4.我们用Git Gui 提交了
接下来我们在看一下我们用Git Bash Here 提交到远程仓库
然后我们看一下远程仓库是否有
如果没有配置SSH key是提交不了远程仓库的
Idea配置使用并使用git
idea中配置Git
1.打开idea软件
然后设置git.exe的安装路径(选择Git安装的路径下的bin文件夹下面的git.exe)
2.设置Github帐号
点击菜单“Settings->Version Control->Github”
下面两种方式选择一种即可
注1:认证方式选择密码,即Auth Type:“Password”,然后输入帐号/密码,再测试是否连接成功
注2:认证方式选择令牌
在这个网址:https://github.com/settings/tokens/new 生成token令牌
idea中使用Git
1.创建本地仓库
VCS–>Import into Version Control–>Create Git Repository…
注1:一般会选择当前项目所在的目录
2.首先我们要在idea里面创建一个项目,然后在上传项目到本地仓库,项目右键选择Git–>add
gitpor是我创建的java项目
此时项目文件变成绿色,此时文件只是处于暂存区,并没有真正进入到版本库(本地)中
创建好之后我们看一下t226_idea2里面有这个吗
然后我们在这个文件里面点击右键,打开Git Bash Here
我们执行git status 查看状态,
它这个是假的,虽然他在这个工作空间下面,但是并没有在本地仓库
3.项目右键Git–> Commit Directory,在弹窗中输入Commit Message,点击commit,此时项目文件从暂存区真正进入版本库(本地)中,项目文件变成白色
注1:在弹窗中输入Commit Message,也可以点击commit and push,会同时提交到本地库和代码托管网站
将新建的项目加到本地仓库缓存区
add完了之后我们在查看一下状态
这个时候就变成绿色了
然后我们在commit 提交一下
将新增/改动的文件真正提交到本地仓库
绿色已经变成黑的了
接下来我们在来git status
没有那个Demo1.java了 ,Ok,本地仓库已经有Demo1了
将本地仓库同步到远程仓库(这里不需要预先在github上建立,再做关联,与命令的方式有所不同)
会弹出一个这样的框
接下来我们去看一下远程仓库是否有
接下来就是演示克隆刚才上传的这个项目
我们来假设一下,就比如刚才上传项目的是组长,然后组员就克隆刚才组长上传的项目,这样说应该很内容理解
将远程仓库克隆到本地,成为本地仓库
下一步下一步。。。。。。。。
直接到这个页面就finish就好了
然后New Window
接下来我们看一下是否克隆成功
Idea中的冲突解决
接下来我们开始改动代码,两个项目都改动,
改了之后我们开始推送远程
上面的步骤都有,我们commit 可以到不了远程
我们commit之后,我们可以这样,如图所示
这个时候我们在去远程仓库 里面看
接下来组员在推送,
步骤上面有,这里就跳过了
这个我们在push一下,就有冲突了
然后会弹出这个框,我们在点击Merge
最后会出现这个页面
接下来我们开始合并
我们点击上面图的X》这样的标志,然后就合并了,在应用
然后最后的结果
然后我们在推送到远程仓库
步骤就跳过了,。。。。。
我们在去看一下远程仓库是否有
🆗!!!