您的位置:首页 > 编程语言

关于本地连接远程github仓库的若干问题

2016-07-13 21:16 453 查看
         一般本地连接远程github仓库的方法有两种,通过http和ssh(在远程github上能找到对应的http和ssh),一般情况下,使用http在push代码时需要输入用户名和密码,但是ssh配置好后并不需要用户名和密码。所以一般用ssh会更加的方便,但是这个是需要设置的。接下来针对这两种情况进行阐述,并给出如何在两者之间进行切换。为了完整性,本文从github仓库的创建开始讲起,读者可以根据需要读部分内容。
1.github仓库的创建
在github上注册自己的信息,然后点击右上角”+”号,选择”Create a new repository”,如下图所示:



然后输入自己的github仓库的名称,description自己随便写点就好,主要是为了能看一下就知道github仓库是干哈的。这里我选择的是public仓库,因为private需要money,一方面是为了大家都能看到我的代码,一方面是我没钱,所以只能创建public仓库(后者是主要原因,哈哈。。。。。)。如下图:



创建完成后出现如下页面;



这个页面的很重要,这里给了你很多的命令的使用方式(由于我前面一个已经建立了仓库,看不到这个页面了,所以我新建了TE仓库,望悉知)。
最后有https和ssh,这个是项目在github上的唯一标识,下面的命令是叫你如何创建本例仓库,并将本地数据push到远程仓库。需要强调的是:

git remote add origin https://github.com/836304831/TE.git

这个命令是建立本地仓库与远程仓库的关联。当你在第一行选择ssh时,命令变成了:

git remote add origin git@github.com:836304831/TE.git

这两个命令是等价的。

git push -u origin master

该命令是将本地的代码push到远程,第一次使用需要使用-u,以后就可以不使用了。

一些常见的git操作命令:

从远程拉取分支到feature/20160620_hot_topic_713362分支

git clone git@gitlab.alibaba-inc.com:bendi/tfmind.git -b feature/20160620_hot_topic_713362

git branch   查看分支

git status   查看状态

从当前分支切换到feature/20160620_hot_topic_713362分支

git checkout feature/20160620_hot_topic_713362                                              

提交修改套装

git add

git commit -m "..."

git pull

git push origin/feature/20160620_hot_topic_713362                                      

保存修改,但不提交

git stash                      将修改压栈

git stash pop                  将压栈的修改,弹出到当前分支

将master分支的修改合并到当前分支
git merge HEAD master
2. 使用http访问远程github仓库
         这个在配置的时候比较简单,只需要知道github仓库的地址就可以。
从远程拉取数据:git clone https://github.com/836304831/DistributionTimeSeriesAnalysis.git。修改按照上面给出的提交修改套装就可以了,这里不在赘述。 3. 使用ssh访问远程github仓库
         使用这个跟通过http的使用方式是一样的,但是ssh在提交代码时不需要输入用户名和密码,但需要先配置ssh。下面讲解一下如何配置ssh连接github。
1)切换到~ssh



如果里边有文件,说明曾经创建过。则可以删掉,或是直接利用现成的东西,但是由于后面需要密码,可能曾经的会有密码,所以还是全部删掉重新创建。这里重新创建的。
2)在1)的目录下执行:ssh-keygen –t rsa –C  “xxxx@qq.com”  #这里需要填写一个邮箱,最好是真实有效的。如下:



3)将刚才生成的.ssh文件下的id_rsa.pub文件打开,复制里边全部的内容,打开github并登录,



通过第一步找到settings进入当前页面,title可随便写,把刚才复制的id_rsa.pub的内容复制到key下的文本框中。点击add ssh key。
4)测试是否设置成功
输入以下命令,如果出现下面的字样,说明配置成功。



如果你再输入 ssh  –T
git@github.com出现are you sure you want to continue connecting(yes/no)? 输入yes,在执行上面的命令应该就能得到上面的结果了。
 
4. http和ssh访问方式的切换
         至此,就可以通过这两种方式对github仓库进行访问了,那你怎么知道你当前使用的是那种方式访问呢,一种只你再push代码的时候需要输入用户名和密码,这个时候说明你用的是http访问,如果没有让你输入这些信息,那说明是ssh方式访问。要是没有要提交的代码还想查看使用的是那种方式该怎么办,别急,我来告诉你。使用命令:
gitremote  –v 将出现你的访问方式,如下图:



出现这种情况,说明你使用的是ssh方式访问,这个地址对应github仓库中ssh的地址。
         哥,我现在知道是使用这种方式,但我讨厌使用这种方式,我想使用http方式怎么办啊?别急,我的心情跟你是一样的激动。我一开始使用的是http,然后总是出现“unable to access  https://github.com/.... Faile to connect togithub.com port 443”的错误,当时我还以为是github被封了,结果发现确实被封了,当时网址github.com都上不去,然后利用了某种方法可以访问github网站了(别问我是怎么解决的,呵呵),但是使用git
pull ;git push依旧报上面unable to access的错。通过网上查找一些资料,配置ssh,切换到啥时候访问模式就ok了。怎么切换呢,看:



这样就能切换过来,如果现在访问github仓库,就是以http方式访问。如果要切换回去也是采用同样的方式,别说你不会。
 
好了,就到这里了,饿死我了,还没吃晚饭呢,吃饭去咯。有问题欢迎加q交流:836304831
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: