怎样连接git远程仓库,设置用户名和密码

怎样连接git远程仓库,设置用户名和密码,第1张

当使用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客户端链接在这里:http://git-scm.com/download/

这里不用github for windows是因为我觉得比较偏门,不是太普适,我要是在Linux下就没办法了。

先描述github和git:

1.git是版本一个控制系统,blabla介绍什么的最不喜欢了.....

就是说,我们使用git管理我们的代码,那么我们就需要把代码加入到git仓库中保存,git有一个本地仓库的概念,就是可以在本地记录变更,以便适应不能联网的环境。

2.远程仓库是远程主机上类似于现在的网盘一样的东西,但是具有git的功能,可以在主机上保存我们的代码库。这里说的github就是远程仓库。

首先,我们使用远程仓库需要现在github注册账号,怎么注册不用多说了。

然后我们需要在本地建立本地仓库,就是在你需要建立仓库的目录下执行这样的命令:

git init

示例:

在用户目录下新建了一个learngit文件夹,在此文件夹下使用上述命令:

打开git bash

此时初始化本地仓库完成。

我们接下来要在里面添加文件,在此之前我们需要设置好全局用户,方便git知道你是谁,以便记录你对仓库的每一次更改。

主要是设置用户名和邮箱,使用如下命令

git config --global user.name "yourname"git config --global user.email "your email addr"

这里的名字和邮箱不是必须和github上注册用的一样也行。

我设置是这样:

下面添加一个文件到这个文件夹中(应该叫本地仓库)

注意,此时被添加到仓库中的文件并没有在仓库中,因为它没有在仓库的记录中。

使用如下命令将文件添加到仓库(记录)中:

git add filename

我这里加入了一个README.md文件在learngit问价夹下:

这样就建立好了本地仓库。

下面建立远程仓库,因为要上传就需要将本地仓库和远程仓库关联起来;

首先在github上新建仓库:

注意,此处的仓库名不一定需要和本地仓库名相同。

点击创建就创建好了一个空的远程仓库。

这里的大批提示就是我们接下来的大部分 *** 作了。注意记住上面的ssh链接,最好不用http;

先回头在git bash中进行这样一项 *** 作:

因为ssh链接主机需要密码验证,我们需要在本机建立密钥并注册到远程主机上,下面是建立ssh密钥过程:

使用命令检查是否本地用户主目录有名为.ssh的密钥保存文件夹和密钥文件。

ls -al ~/.ssh

如果没有会提示你的,一般你没用过git bash或ssh建立过密钥的都没有此文件夹,或是文件夹没有文件。

之后建立密钥,使用如下命令:

ssh-keygen -t rsa -C "your email addr"

注意邮箱地址也是不限制必须和哪个相同。

我 *** 作如下:

注意在输入文件名那里直接回车就可以了,默认密钥文件名是id_rsa,公钥文件就是名是id_rsa.pub

然后输入密码并确认就可以了,成功会返回指纹识别吗和随机字符画,不用记。

然后在用户主目录.ssh文件夹下找到后缀为.pub的公钥文件,用文本编辑器打开并将其所有内容复制下来。

复制完之后回到github上,

在主界面右上角找到设置那个选项:

标志是齿轮;

打开后选择SSH key

点击Add SSH key,在出现的UI中添加密钥名和密钥内容:

之后点击添加即可。注意添加成功后会邮件通知你(你是指github注册邮箱持有人)。

然后回到git bash来,输入如下命令检测是否能够ssh连接github,

ssh -T git@github.com

可能会出现警告,不要管他,输入的密码是你建立密钥时候的密码。

出现上图说明能成功连接到github。

之后我们按照如下命令将本地仓库递交到远程仓库:

上传之前要对修改做一次总结,写好“日志”

git commit -m ".................."

省略号中添加文字描述。

将本地仓库和远程仓库建立连接:

git remote add origin git@github.com:wylhyz/learngit.git

origin是远程仓库在本地别名,你可以自由取,git链接是在建立远程仓库时要你记下的ssh连接。此句就是在本地建立远程仓库别名并链接到远程仓库。

然后直接使用如下命令就可以将更改上传了:

git push -u origin master

需要密码验证的时候输入密钥密码就好。(当然有不用输入的方法)

此时在github上查看仓库就已经上传完成了:

假设你的远程库为https://mygit.git.com/test.git

在你本地库目录下运行:

git remote add remoterepo https://mygit.git.com/test.git

然后再执行:

git push remoterepo master:master

它会提示你输入远程库的用户名和密码,成功之后就会把master分支推上去了, 要推别的分支,把master换成对应的名称就行了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11843257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存