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换成对应的名称就行了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)