0%

Git配置仓库公钥及使用

Git配置仓库公钥

安装Git

打开《Git工具下载地址》,下载并完成安装

获取远程仓库地址SSH

这里如果是Gitee可以看《Hexo搭建笔记》里的Gitee部署创建仓库 章节,最终获取SSH地址 git@gitee.com:name/仓库名.git,如在创建仓库 章节里最终获取地址

1
git@gitee.com:Aoce888/Aoce888.git

其他也都大同小异如阿里云:在阿里云创建项目,获取SSH地址 ***.git(示例地址,每个项目SSH地址不同)

1
最终获取地址:**git@code.aliyun.com:playale/*.git**

配置仓库公钥

在安装好git后,在本地创建一个与云仓库共同名称(示例文件夹名 nameA),右键进行库配置操作

1
2
3
右键nameA-->git bash here 进行全局配置用户信息操作
git config --global user.name "username" 配置用户名
git config --global user.email useremail@qq.com 配置邮箱

用户信息配好后获取公钥:

  • (方法一) 输入ssh-keygen -t rsa -C “useremail@qq.com“ (这里的邮箱是你配置用户的邮箱,回车全部按enter);

操作完成后SSH密钥默默认储存在帐户的主目录下的 ~/.ssh

  • (方法二) 这里提供个更简捷的方法,在上面新建的nameA文件夹 右键–>git GUI here

在窗口上找到help–>show SSHkey –>Copy

image-a00

这样我们就获取了密钥了,下一步就是在创建仓库用户设置上配置我们的Copy公钥
打开Gitee官网 登录后 首页找到 用户–>设置–>SSH公钥–>增加公钥,把上一个步骤copy的密钥填入

到这一步基本就是完成了,最后一步本地配置链接仓库,nameA右键–>git bash here输入

1
2
3
git remote add origin SSH地址
git remote add origin git@gitee.com:Aoce888/Aoce888.git (示例1)
git remote add origin git@code.aliyun.com:playale/nameA.git (示例2)

这样就可以通过指令从仓库获取内容和提交信息了

Git bash创建文件指令

1
2
3
4
vim name.file 创建或打开文件 i进入 esc退出后 :wq保存
git add name.file 添加文件 git status查看信息 git commit -m'添加修改信息'
git vm old.file new.file 重命名格式
修改备注 git commit --amend 按a进入编辑模式

上传某个文件夹到指定分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1、Git init (在本地工程目录下),生成.git 文件夹

2、上传修改的文件 git add *(*可替换成具体要上传的文件名,*表示提交所有有变化的文件)

3、添加上传文件的描述
git commit -m "test" (”test“为分支名)

4、(创建分支)git branch test

5、(切换分支)git checkout test

6、与远程分支相关联 git remote add origin @@@@.git

7、(将分支上传)git push origin test

推送失败解决方案

1
2
3
4
5
6
7
8
1、git pull -- rebase
//针对场景一和二,养成先pull最新代码再修改的习惯即可
//在修改本地代码前,先使用git pull拉取远程最新代码,然后再进行修改(推荐--rebase)
git pull 远程仓库名 远程分支名 --rebase

2、git push --force
//针对场景三,在确认代码无误的情况下,直接使用--force强制推送
git push 远程仓库名 远程分支名 --force

其他相关问题

git commit报错

报错内容

1
2
fatal: Unable to create 'xxx/.git/index:File exists.
Another git process seems to be running in this repository, e.g. an editor opened by ‘git commit’. Please make sure all processes are terminated then try again. If it still fails, a git process may have crashed in this repository earlier:remove the file manually to continue.

解决方案

1
2
删除在同级目录下 .git 文件中的 index.lock 文件;
或者直接在命令行输入 rm -f .git/index.lock

git push origin master报错

报错内容

1
2
3
4
5
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解决方案

1
2
3
4
5
6
方式一:输入“ `git pull --rebase origin master` ” ,然后输入git push origin master语句


方式二:输入“ git pull origin master --allow-unrelated-histories ”(会弹到文件里面,输入“:wq”退出该文件,如果没有遇到,请忽略),然后输入git push origin master语句

前两种方式不可行的情况下,试试这种方法:“git push -f origin master”
-------------本文结束感谢您的阅读-------------