自己在github建了个仓库,然后配置访问不了,上网查了下怎么用不同账号在本地配置多个git仓库。
config配置有3个层级 :
一般都会配置用户级别
a、单个配置
b、多个配置
账户1生成
账户2
注意: 这里git config命令没有带—global,表示这是一个局部的设置,也就是这个用户是当前项目的,而不是全局的。
c、删除某个配置
我个人配置了github和gitee以及公司的git
1、生成gitte仓库的SSH
第一个输入文件名称,剩下两项不需要输入
2、生成github仓库的SSH
在生成密钥的.ssh 目录下,新建一个config文件,然后配置不同的仓库,如下:
如果还有其它仓库,按照这个去配置就可以
使用ssh的ssh-add命令将密钥添加到 ssh-agent 的高速缓存中,方便使用。
查看项目目录下的.git/config文件,可以找到当前项目的git配置,如下配置:
如果你在上面手欠设置了别名的话,就把对应的hostname用别名替代就可以了。
当使用HTTPS协议推送代码到Git仓库时,发现每次都需要输入密码, *** 作起来非常麻烦。下面介绍几种免去输入密码的方法。HTTPS协议推送
使用HTTPS协议,有一种简单粗暴的方式是在远程地址中带上密码。
>git remote set-url origin http://yourname:password@bitbucket.org/yourname/project.git
还有一种方法,是创建文件存储Git用户名和密码。
以Windows环境为例,在%USERPROFILE%目录中(一般为C:\Users\yourname),打开Git Bash命令行,创建文件
>touch .git-credentials
在文件中输入仓库域名,这里使用了bitbucket.org。
https://yourname:password@bitbucket.org
在CMD终端中设置在全局Git环境中,长期存储密码
>git config --global credential.helper store
其他设置密码方式
记住密码(默认15分钟):git config --global credential.helper cache
自定义存储时间:git config credential.helper 'cache --timeout=3600'
SSH协议推送
如果原来的推送地址协议是HTTPS,可以通过换成SSH协议,在远程仓库添加SSH Key来实现推送时免账户密码输入。
>git remote -v // 查看远程地址
>git remote rm origin // 删除原有的推送地址
>git remote add origin git@github.com:<用户名>/版本库名
或者
>git remote -v
>git remote set-url origin git@github.com:<用户名>/版本库名
执行推送。
>git push -u origin master
发现提示权限不够。
The authenticity of host 'bitbucket.org (104.192.143.1)' can't be established.
RSA key fingerprint is SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,104.192.143.1' (RSA) to the list of kn
own hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
需要在本地创建该帐号的RSA Key。可以参考以下两篇文章:
Windows下配置SSH连接Github
Git如何在本地生成多个SSH key
然后再执行推送。
>git push -u origin master
就可以推送成功了。
一、安装git
二、设置
由于git是分布式管理工具,需要输入用户名和邮箱以作为标识,因此,在命令行输入下列的命令:git config -- global user.name "" ,git config -- global user.eamil ""
三、工作原理:
1.git的工作流程
2、git简化原理
四、基本用法
1、创建版本库
版本库就是我们所说的“仓库”,英文名repository,你可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,
以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
eg:
命令解析:
cd:进入某个目录
mkdir:创建一个文件
pwd:显示当前的目录路径
2、添加文件到版本库
添加文件到版本库,首先需将这个目录变为git可以管理的仓库,命令如下:
git init
git add 001.txt
git commit 001.txt "001txt文件提交"
命令解析:
git add:将文件提交到暂存区
git commit -m:将暂存区文件提交到仓库(单引号内为注释)
3、检查是否有未提交的文件
通过下面的命令,检查该版本库是否有文件未提交:git status 检查当前文件状态
4、检查文件是否被修改 git diff:查看文件修改的内容
5、查看历史变更记录
git log:获得历史修改记录
git log --pretty=oneline:使记录只显示主要的内容,一行显示
6、版本回退
cat:查看文件内容
git reset --hard HEAD^:回退到上一个版本
git reflog:获取历史版本号
git reset --hard 版本号:回退到该版本号对应的版本
五、将本地文件推送到github仓库
PS补充下:关于Git和github关联
1、拥有github账号
由于本地仓库和远程的github仓库需要关联,首先需要登录github,注册一个账号,然后建立一个仓库。
注册链接: https://github.com/join?source=header-home 成功注册后,登录github,首页如下:
2、创建SSH Key
Git和github之间是通过SSH加密的,因此需要执行下面的 *** 作:
①、在本地主目录查找,是否有.ssh目录,如果有,打开该目录,一般会有这两个文件:id_rsa和id_rsa.pub,如果有的话,直接跳过,如果没有的话,打开命令行,输入如下命令:
ssh-keygen -t rsa –C “youselfemail@email.com”(你自己的邮箱地址,推荐和注册github的邮箱保持一致)
ps:Mac系统下查看和生成SSH Key
一、查看本地是否存在SSH-Key: ls -al ~/.ssh
输出的是如下内容: 证明本地已经存在SSH Key 文件,请执行第四步。
id_rsa id_rsa.pub
二、如果没有,生成新的SSH Key
ssh-keygen -t rsa -C"you_email" (your_email:这里填写你在GitLab或者GitHub注册时的邮箱。)
三、生成并添加SSH Key
ssh-add ~/.ssh/id_rsa
四、查看SSH Key
cat /Users/xxx/.ssh/id_rsa.pub
xxx是你的电脑用户名,例如:howieMacBook-Pro:~ howie$中的howie关键字。
复制生成好的SSH Key 添加到 GitLab 或者GitHub中的SSH Key中即可。
②、登录github,右上角:设置→settings-SSH and GPR keys→New SSH key,然后输入你的标题,输入上面的公钥,然后点击保存。
3、创建仓库
点击右上角,添加→New repository,按照下图所示创建仓库:
然后进入创建的仓库,点击Clone or download,找到你的仓库地址:
然后通过命令:git remote add origin https://github.com/用户名/仓库名.git,将本地仓库和github仓库连接就好了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)