安装汉化包
把压缩包中的msgs文件夹copy到 Git安装目录/mingw64/share/git-gui/lib
新建一个文本文档
刚开始打开的时候是没有的
右键-》Gui -Gui Here
(未跟踪状态)
只要你在仓库哪里你增加一个就展示一个
选中文件 点击提交 -》缓存为提交
点击提交
这个时候还没有提交到本地仓库上去 点击上传
以上一般运用到文件上,本地代码不这样
Ssh key 介绍及使用
介绍
讲到介绍SSH Key 我们不妨来介绍一下SSH
SSH
Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。通过加密保证了数据的保密性和完整性。SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户。
传统的FTP、Telnet是再网络中明文传送数据、用户帐号和密码,很容易受到中间人攻击。
SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
SSH只是一种协议,其开源实现有OpenSSH程序。
SSH服务端和客户端程序
OpenSSH (OpenBSD Secure Shell) 是一套使用ssh协议,通过计算机网络,提供加密通讯会话的计算机程序。
如果需要作为ssh的服务端,则需要安装openssh。
如果仅是作为ssh客户端,在Linux中直接使用ssh命令即可。
Windows中的ssh客户端程序有:
Putty
PuTTY Tray(Putty的加强版)
Bitvise 的 ssh client (功能多,免费)
Xshell (2017年被爆多版本存在后门)
SecureCRT(算了吧)
Cmder(开源的命令行工具,并且集成了Git for Windows和多个Unix命令,cmder的使用可参考 Cmder - 简书 里面有讲到ssh agent的配置)
SSH Key
SSH 密钥对 最直观的作用:让你方便的登录到 SSH 服务器,而无需输入密码。由于你无需发送你的密码到网络中,SSH 密钥对被认为是更加安全的方式。
原因是:SSH利用SSH Key来进行前面提到的基于密钥的安全验证。
使用SSH key的步骤:
在客户端生成SSH key(密钥对:公钥和私钥)
在服务端的配置文件中加入你的公钥。(比如我们需要再GitHub中粘贴你的公钥)
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(查看所有和linx相似)
注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。输入密码即可
第三步为可省略步骤,如果你在取得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
一个电脑生成一个公钥
第四步:测试SSH连接
1.输入测试命令
ssh -T git@github.com
如果显示如下内容,表示ssh key添加成功:
Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access
在这里我们还没有把私库配置到本地私库上去
把你生成的公钥放到里面
然后接下来会弹出一个框你需要在里面写你的密码
出现以下这个配置完成
第四步:测试SSH连接
1.输入测试命令
ssh -T git@github.com
如果显示如下内容,表示ssh key添加成功:
Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access
在这里我们还没有把私库配置到本地私库上去
打开黑窗口
输入
git clone https://github.com/XYX-lady/T224.git
完成即可
演示错误
如果说我把公钥删掉
也把刚刚提交私库也的删掉
再次执行克隆 git clone https://github.com/XYX-lady/T224.git
这个通过密码登录还是可以获取到私库的,但是如果想把我的私库通过密码克隆到别人的电脑上是不被允许的
把HTTPS的方式删掉,现在再到现在来克隆
再次生成公钥
小结:https 和 SSH 的区别:
- 前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,需要先添加 SSH key ,否则无法克隆。
- https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的;如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
- Git协议push远程仓库不需要填写github账号密码,操作更加方便。
Idea配置使用并使用git
1.设置git.exe的安装路径
点击菜单“File->Settings->Version Control->Git”,设置Path to Git executable的值为:D:\initPath\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:认证方式选择令牌
勾选上所有的复选框
创建一个工作区间
注1:请将上述路径“D:\tools\Git\bin\git.exe”改为自己git的安装目录
在这里我们建立一个代码JAVA类
没提交
提交到缓存区
再次提交
右下角
一般先提交本地
提交成功之后这个时候她并不在本地仓库
所有需要分享到远程
推送完了之就显示在了远程仓库上
提交到本地显示的内容
为了演示修改后如何提交
我们在在java文件输出的后面加一段
提交到缓存区
一些暂缓的文件一般我们不提交的远程仓库上去
在这里点击commit的化他还是在本地没有提交到远程浏览器上执行下面一步才是
提交到远程仓库上去了
还有一种你修改之后点击Git->add -》commit Girectory然后直接提交到远程仓库上去,在需要网络,会比较慢
将远程仓库克隆到本地,成为本地仓库
解决代码冲突问题
组长和组员同时在一个类里面提交了一段代码改如何去解决冲突问题呢?
点击apply,意味着代码已经到了本地仓库;要提交到远程仓库,在做push操作
冲突就解决了
在超大型项目会用到分支,有时间有需要再做详细了解;
创建分支命令:git branch 分支名
查看所有分支命令:git branch
切换分支命令:git checkout 分支名
合并分支到master分支上命令:
首先切换到master分支,git checkout master,然后git merge 分支名。即将创建的分支合并到master上。
删除分支命令:git branch -d 分支名