一、Git Gui的使用git
二、Ssh key 介绍及使用github
三、Idea配置使用并使用gitshell
一、左侧第一个框放的是未缓存的改动文件(点击文件的小图标便可缓存到第二个框中)浏览器
二、第二个放的是已缓存的文件缓存
三、文件添加到已缓存区后在Commit Message下的空白区域填写提交注释,点击commit按钮提交app
四、而后直接push添加到远程中过程当中可能会要输入用户名和密码。注意:添加到远程以前必定要登陆GitHub网页ssh
Ssh key介绍ide
我理解的就是每台电脑上会产生出一个ssh key,而后本身有一个远程帐户,可是本身有可能有不少台电脑,测试
包括家里的电脑还有公司的电脑,咱们能够在任意一台电脑上工做,可是若是想要每台电脑都和远程版本库时刻保持着通信,fetch
就须要将每台电脑的ssh key添加到远程帐户,添加到远程版本库以后,远程版本库就会和已经添加的电脑进行通信而不会和其余电脑进行通信
建议:全部的Git操做都经过ssh key进行,由于简单
Ssh key配置
操做分为本地电脑配置和github网站配置
第一步:本地电脑配置
右键空白处,选择Git Bash Here打开相关命令窗口
1.配置用户名和邮箱(若是已经配置,就跳过)
git config --global user.name "username"
git config --global user.email "email"
以后就会在C:\Users\Administrator下建立一个.gitconfig文件,内容为
[user]
name = xxx
email = xxx@xxx.com
注1:username和email即github的登录账号和注册邮箱
注2:git config命令的–global参数,用了这个参数,表示你这台机器上全部的Git仓库都会使用这个配置
2.检查下本身以前有没有已经生成ssh
cd ~/.ssh
ls
注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等文件
3.生成(或删除)秘钥
ssh-keygen -t rsa -C "xxx@xx.com"//这里的邮箱要换成本身注册时的邮箱
接着按3个回车便可。
注1:若是本地有ssh,执行以上命令会出现正面的提示,这里选择y,表示覆盖本地的ssh key,其实也就是ssh秘钥删除的意思
注2:为何要删除秘钥,建立SSH的时候设置过密码,那就颇有可能git操做时出现忘记密码的尴尬状况,
不要想着怎么从新修改密码了,选择从新建立一个ssh秘钥
注3:建立ssh key不要输入密码了,否则操做起来太累~~~~~~~
4.执行命令完成后,默认会在window的C:\Users\Administrator\.ssh下面生成以下两个名称的文件:
C:\Users\Administrator\.ssh
id_rsa(私钥,不能泄露出去)
id_rsa.pub(公钥)
known_hosts(不用管)
第二步:远程github仓库配置
1.登录到本身的gitbub,点击右上角的倒立小三角形。选择 settings
2.选择SSH and GPG keys
3.点击右边的New SSH key
4.随意填入一个title,而后 key 中粘贴刚才复制的id_rsa.pub文本,点击 Add key 这样就大功告成
5.github官网有时候会要你输入登录密码才能添加ssh key。输入密码便可
打开id_rsa.pub文件
## 第三步为可省略步骤,若是你在取得Git仓库时就使用的是ssh协议,就无需修改
第三步:修改你本地的ssh remote url. 不用https协议,改用git 协议
1.git remote -v 查看你当前的remote url
git remote -v
## 如何显示以下内容,则表示Git仓库是使用https协议进行访问的。
origin https://github.com/lixiao12/test224.git (fetch)
origin https://github.com/lixiao12/test224.git (push)
2.使用浏览器登录github,找到仓库ssh协议相应的url。相似以下:
git@github.com:lixiao12/test224.git
3.使用 git remote set-url 来调整你的url。
git remote set-url origin git@github.com:lixiao12/test224.git
4.最后再用 git remote -v 查看一下。协议已改变
第四步:测试SSH链接
1.输入测试命令
ssh -T git@github.com
若是显示以下内容,表示ssh key添加成功:
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
小结:https 和 SSH 的区别:
1. 前者能够随意克隆github上的项目,而不论是谁的;然后者则是你必须是你要克隆的项目的拥有者或管理员,须要先添加 SSH key ,不然没法克隆。
2. https url 在push的时候是须要验证用户名和密码的;而 SSH 在push的时候,是不须要输入用户名的;若是配置SSH key的时候设置了密码,则须要输入密码的,不然直接是不须要输入密码的。
Git协议push远程仓库不须要填写github帐号密码,操做更加方便。
这是添加了ssh key后push的显示
ssh key对私库的影响
ssh提交
删除ssh后的提交
删除ssh后私库push提交是不成功的
idea中配置Git
1.设置git.exe的安装路径
点击菜单“File->Settings->Version Control->Git”,设置Path to Git executable的值为:D:\tools\Git\bin\git.exe,
注1:请将上述路径“D:\tools\Git\bin\git.exe”改成本身git的安装目录
注2:点击右边的“test”按钮,应该显示成功消息及git的版本信息
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.上传项目到本地仓库,项目右键选择Git-->add,此时项目文件变成绿色,此时文件只是处于暂存区,并无真正进入到版本库(本地)中
3.项目右键Git--> Commit Directory,在弹窗中输入Commit Message,点击commit,此时项目文件从暂存区真正进入版本库(本地)中,项目文件变成白色
注1:在弹窗中输入Commit Message,也能够点击commit and push,会同时提交到本地库和代码托管网站
4.上传项目到GitHub中,VCS-->Import into Version Control-->Share Project on GitHub,在弹框中输入仓库名和描述,点击Share,便可是上传,
建立本地仓库
git add
add后,查看状态
git commit
commit界面
git push
点击apply,意味着代码已经到了本地仓库;要提交到远程仓库,在作push操做;
在超大型项目会用到分支,有时间有须要再作详细了解;
建立分支命令:git branch 分支名
查看全部分支命令:git branch
切换分支命令:git checkout 分支名
合并分支到master分支上命令:
首先切换到master分支,git checkout master,而后git merge 分支名。即将建立的分支合并到master上。
删除分支命令:git branch -d 分支名
冲突解决