IDEA---集成Git和Github
1.1 配置Idea集成Git
1.2 使用SSH key 创建公钥私钥,上传公钥到github
(1)、点击开始菜单--》所有程序---》git点击Git Bash
点击进入git命令行:
(2)、输入命令,生成秘钥
ssh-keygen -t rsa -C "12345678@qq.com"
遇到提示直接回车
(3)、查看生成的秘钥
在当前登录用户的 .ssh目录下,即可查看到秘钥
(4)、查看生成的公钥id_rsa.pub内容在GitHub中通过:edit your profile -> ssh key -> Add SSH Key 添加SSH Key, 把上面生成的 public key 拷贝到这里,保存
1.3 配置Idea集成GitHub
(1) 、获取github Token
选择左侧菜单的“Developer settings”一项:
选择“Personal access tokens”:
点击“Generate a personal access token”:
把以下选项全部勾选,然后点击下方绿色按钮,便可生成一个token
Token生成成功
(2)、Idea配置集成GitHub
选择Enter token
出现token输入界面,输入github生成的token,点击 Login In
Github账号绑定Idea成功
注意:idea登录github账户报错 invalid authentication data connection reset
1.4 导入本地工程到Github
打开一个工程,在idea工具栏选择VCS--->Import into Version Control---->Share Project on GitHub
输入项目名称、描述
点击 Share弹出选择分享文件菜单
选择对应的文件,输入提交说明,点击Add按钮,即可提交文件到github
遇到如下提示,点击Cancel或者NO
出现如下提示,表示上传本地项目到github成功
点击查看github发布地址
1.5 从GitHub远程仓库下载项目到本地Idea中进行开发
1、打开Idea开始界面,选择Check out from Version Control-->Git
Check out from version control -> git
2、打开项目地址,查看git仓库地址
https://github.com/xuexi007/demo001
点击绿色按钮 “Clone or download”,选择Clone with SSH,复制下面的仓库地址。
3、粘贴仓库地址到Idea Url,点击测试
4、出现是否信任Github公钥,点击 yes(2018idea 没有该步骤)
5、再次点击 Test 测试按钮,出现 Connection successful 测试连接成功
6、点击 Clone按钮,开始克隆下载项目
7、下载完成,确认打开项目,点击 yes
8、项目即可成功导入到Idea
1.6 使用Git创建分支、切换分支、发布分支到github
选中项目---》git---->Repository---->Branches...
弹出分支操作菜单,选择 New Branch
输入分支名称
点击Ok创建,并切换到分支
查看Idea右下角,可以看到当前操作分支。
点击,即可出现分支列表,选择对应分支---》Checkout 即可切换回分支。
选中项目---》git---->Repository--》Push
在github即可查看到对应分支已经创建
1.7 使用Git合并分支
修改fenzhi1的一个类,新增一个方法
再推送分支代码到Github
切换回Master主分支,选中项目---》git---->Repository--》Merge Changes
弹出合并分支对话框
点击Merge合并分支到Master主分支,这时在本地就可看到合并后的内容,如果要更新GitHub的话,push即可
1.8 使用Git回退到历史版本
每次提交到git上面,都会有一个记录,每个记录用版本号代替,当你提交错误的时候,你可以根据这个提交的版本好回退到你想要退回的历史记录
然后出现如图:
主要分为三列,第一列和第三列我模糊了,分别代表谁上传的和 你上传提交的注释
第二列是时间,然后点击你想退回的版本那一行,右键出现如图:
然后你就复制了你的历史版本号,然后到idea的右下角,点击
最后确认就可以回退到历史版本.
1.9 解决冲突
当一个用户修改后未push到中央仓库,此时另外的用户提前完成了修改并push到中央仓库,
那当前用户在push就会产生冲突。
冲突解决方法,合并。
点击“Merge”按钮。
根据出现的提示框,选择合并行,点击>> 和 <<合并内容。
点击应用,内容合并完成。
最后在psuh到中央仓库,即可解决版本冲突问题。