git安装
- [ ]
git配置
Setting—Version Control----Git
1处选中已安装的git中bin目录下的git.exe,点击Test按钮后会出现2处的版本号
Setting—Version Control----GitHub
获取Token方法:
1、点击头像—Setting
2、点击左边栏Developer settings
3、点击Personal Access Token—Generate new token—Generate new token
4、Token name随便填一个,Description 描述,点击Generate token
5、复制生成的Token填入setting中
Sever: github.com(我这里打开后默认就是这个)
创建GIT远程仓库
点击New repository填入name、Description后点击Create,即可创建仓库
提交第一笔代码至GIT远程仓库
IDEA新建一个项目,控制台Terminal中cd到项目文件位置,依次执行一下命令:
1、初始化git仓库:git init
此处若出现git命令无法被识别(若cmd可以识别但Terminal不能识别也是环境变量的问题)则需要配置环境变量:
2、添加到本地仓库:git add .
3、添加提交描述 git commit
在vim中点击“i”键,编辑commit信息后依次点击“ESC”键、“shift+:”键,输入q保存信息并退出
此处若出现按“ESC”键后鼠标光标指向了代码编辑处,则是键盘隐射问题,可通过以下方法解决:
从setting中进入Keymap—Plugins—Terminal—Switch Focus To Editor中,双击鼠标将此处设置的“ESC”键取消即可。
4、提交前先从远程仓库主分支中拉取请求:git remote add origin XXX (XXX为GIT远程仓库)
GIT远程仓库地址在此处可以看到:
5、把本地仓库代码提交:git push -u origin master,此处若你改过GIT上的分支名的话会报错:
error: src refspec master does not match any error: failed to push some refs to XXX
此Error是由于本地仓库分支名(master)与GIT远程仓库分支名(修改过的分支名)不同造成,解决方法如下:
把本地的 master 仓库名称修改为远端的 GIT仓库名
**重命名命令: git branch -m oldBranchName newBranchName **
然后再 git push -u origin newBranchName
还可能存在原因:
本地文件与github上的文件有冲突
本地需要提交的文件中存在空文件
本地的origin和remote origin/master 没有建立关联(我出错的原因)
解决方法:
1、针对第三种情况导致的错误,重新建立本地和远端的连接
$ git remote remove origin
$ git remote add origin [email protected]:XXX/XXX.github.io.git
$ git push origin master
2、针对第一、二种情况导致的错误
$ touch README
$ git add README
$ git commit -m "change"
$ git push origin master
遇到的问题:
1、Terminal中报错乱码 解决方法:
1、找到IDEA安装目录下的bin文件夹中的idea64.exe.vmoptions
末尾加上改动:-Dfile.encoding=UTF-8
2、在setting—File Encodings中将此三处编码方式都设为UTF-8即可
2、若重新建了项目,当git push/git pull 时报错
此报错是因为本地.git文件被修改、克隆等造成
解决方法:
在git pull和git push命令中添加–allow-unrelated-histories 让git允许提交不关联的历史代码。
git pull origin master --allow-unrelated-histories
git push origin master --allow-unrelated-histories
3.git push时报错:OpenSSL SSL_read: Connection was reset, errno 10054
原因:
1、网络不好
2、SSL的原因,解决方法:
git config --global http.sslVerify "false"
版权归原作者 绝对不会秃 所有, 如有侵权,请联系我们删除。