我一直对github上的钥匙不懂,现在终于懂了,大家在下载了git之后,首先是要生成钥匙,这个钥匙有两个,一个是密钥,一个是公钥.所以,你的电脑有且仅有两个钥匙对吧
现在,把公钥放到github上,然后你与github上的仓库连接的时候,你可以拉取,推送什么的,都不需要验证身份,因为你的公钥在github上面,你的密钥在自己电脑上,所以,公钥和密钥会自动进行验证的
那我现在去公司了,公司电脑上我也是一样的操作,安装git之后生成密钥和公钥,然后公钥放到github上.....
所以,钥匙的事已经很清晰了,每个电脑上有且仅有两个钥匙-密钥和公钥,你的github上有且仅有很多公钥
至于同事之间的协作,github的仓库也是可以添加钥匙的,把协作人的公钥加到仓库里面,千万不要加到github账户里面
但是最近貌似github可以直接在仓库输入协作人的名称然后邀请,这个简单多了
git是一款强大的分布式版本控制系统。与之对应的是集中式版本控制系统,例如SVN。看一下区别:
集中式(代表作:SVN):多台电脑连接一个主机,修改东西之后推到一个主机。
分布式(代表作:git):每台电脑上都有一个项目,改完之后推到主机上方便成员交互。
集中式的假如网速很慢,那你推送一个东西就急死吧,而且万一主机坏了,那你们都别工作了。
分布式的你在你自己的电脑上工作完之后,直接推送到主机上,一个人的项目坏了没事,其他人都有。
下面咱们来讲一下github怎么与你电脑上的git建立起连接关系。
一、你要有一个github账号。
去百度。然后自己建一个仓库(repository),仓库名记着。
二、你电脑上要有一个git客户端。
去百度。
需要说明的是,如果你喜欢手打命令行就直接下载git就好,如果你嫌命令行记着麻烦那你就多下载一个TortoiseGit,TortoiseGit就是一个小乌龟打辅助的,有了这个辅助输出你就不用打命令行了只需要图形化界面操作就好。(当然打命令行可以装逼。。咳咳,我什么都没说。。)
三、跟着我做。
首先,在你喜欢的地方新建一个文件夹来存放git项目。我就直接在桌面上建了哈,文件名你自己随便。(作为一名开发者要时刻牢记不要用中文。无奈)
进入这个文件夹,单机右键点击bash,然后会出来命令框,接下来开始打命令行了:
1.先配钥匙(钥匙的作用是把你电脑上面的git和github连接)
$ ssh-keygen -t rsa -C "your_email@youremail.com" //双引号里面是你的邮箱。填你常用的就行。还有enter代表执行。
配钥匙的过程中不管你看到什么一路enter就好。然后你会在C:UsersAdministrator.ssh目录下面看到三个东西,其中一个是.pub格式的,用记事本打开它,复制。然后来到你的github,在setting里面找到ssh keys把你刚才复制的钥匙给粘贴了,title随便写一个。
2.建仓库
$ git init
打完这个命令行敲回车,你会发现你的这个文件夹下面多了一个.git文件夹,没有的在查看里面把隐藏的文件给显示出来就好了。
3.设置用户名和邮箱。
1 $ git config --global user.name "your name" 2 $ git config --global user.email "your_email@youremail.com"
4.添加远程地址
$ git remote add origin git@github.com:你的github用户名/仓库名.git
例如,我的github的用户名是Vae仓库名是first git test,然后就这样打
$ git remote add origin git@github.com:Vae/first-git-test.git
发现了吗?仓库名的空格用 - 来代替
好了,第4个命令行打完之后呢进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。马上成功了,来吧。
5.新建一个txt文本,里面写点东西。我的命名为read
6.add和commit
$ git add read.txt $ git commit -m "这是你commit的原因,写了方便你我他"
7.push推送到你的github
$ git push -u origin master
好了,你已经成功了。
接下来会弹出消息框让你输入用户名和密码。就是你github的用户名和登陆密码。填了,然后回车。接下来会有一大片的 warning,不用理他,你只需要静静地等几秒,好了看看你的github是不是已经有了这个txt文件了。
failed to push some refs to git 推送失败
这个可能是你在创建github仓库的时候,新建了一个md文档,然后你本地克隆的时候,本地文件夹有内容.这个时候需要获取合并一下
git pull --rebase origin master
执行完这条语句再去push
----------------------------------------------------------------------我是优雅的分隔符-------------------------------------------------------------------------------------------
通过上面的步骤,现在你已经可以在你的github上面随意的上传东西了。但是现在问题来了,github主要的用途就是多人协作做一个项目。那么别人怎么参与到你的项目中来呢?
步骤其实很简单。比如我和同事B一起开发一个游戏,现在同事B在github上创建了一个仓库
一、同事B在仓库下邀请我,在框内输入我的github账号,我会收到通知,同意就好了
二、我在我的电脑上配置好邮箱,用户名之类的之后呢,添加远程地址还是第一创建人的这个项目的地址,像这样
git init
git 邮箱和名字
$ git remote add origin git@github.com:Vae/first-git-test.git
其实和上面的步骤差不多。。。。。这里的github地址添加我要链接的同事B的仓库地址
三、好了,重要的一步来了,你先在git bash命令框里面执行一下下拉语句。意思就是第一创建人的项目里面的东西蜀云泉先拉下来看看
$ git pull origin master
pull之后呢,第一创建人项目里面的东西你也有了。
注意:必须先pull下拉项目才能push上传内容,必须先pull
五、自己添加东西吧,代码,文本,什么什么的只要有用就加上,然后就是对你的这些内容进行 add commit push 这三步拉。这里要说一下,如果你只用命令行的话可以这样
$ git add happy.txt $ git add music.mp3 $ git add file $ git commit -m " i add some files"
$ git push -u origin master
看到了吗?可以add好几个,然后commit一次,push一次就好了。如果你还是觉得麻烦,那就下载个小乌龟用图形化操作界面去操作。还有一种方法就是利用github的客户端。这里就不多叙述了。