关闭

详解Github(4)--向Github提交代码

标签: github网络协议计算机管理加密
57人阅读 评论(0) 收藏 举报
分类:

详解github(d)–向github提交代码

SSH

在拥有了一个Github账号之后,就可以自由clone或者下载项目了,也可以创建自己的项目,但是没有办法提交代码,因为如果能够随意提交代码的话,那么Github上项目的管理就会出现很大的问题了。因此提交代码之前一定要某种授权,而Github上一般都是基于SSH授权的。
什么是SSH呢?简单来说,SSH就是一种网络协议,用于计算机之间的加密登录。

生成SSH key

Windows系统若安装了Git Bash是带了SSH的,可以使用ssh命令来验证是否安装了Git Bash
紧接着指定rsa算法生成密钥,输入ssh-keygen -t rsa,然后连续三个回车键,就会生成两个文件id_rsa和id_rsa.pub,id_rsa是密钥,id_rsa.pub就是公钥,这两个文件在windows系统下的~/C/Documents and Settings/Username/.ssh下,另外由于他们都是隐藏文件,所以一方面要显示隐藏文件,另外一方面要进行授权(详情可以参阅Google)。

Github上添加SSH key

在Github设置页面上,点击SSH and GPG keys,再点击New SSH key, 然后将id_rsa.pub公钥文件里的内容复制粘贴进去就可以了,Title无需进行填写。

接着输入ssh -T git@github.com 进行测试(可能需要多按几个yes才能够认证成功)
会出现:
这里写图片描述
表示SSH key添加成功。

Push and Pull

Push的意思就是当本地的代码有更新的时候,需要将本地代码推到远程仓库,这样本地仓库就可以与远程仓库进行同步了。
如:git push origin master
将本地代码推到远程master分支。

Pull的意思就是别人提交代码到远程仓库,这个时候你需要把远程仓库的最新代码拉下来,然后保证两端代码的同步。
如: git pull origin master
将远程最新的代码更新到本地。一般我们在push之前都会先pull,这样不会因此冲突。

代码提交

代码的提交有两种方法:
一种是clone自己的项目(更高级的复制):

git clone git@github.com:WilliamYi96/test.git

由于项目本身就是一个git仓库了,因此不需要执行git init进行初始化,而且甚至已经关联了远程仓库。我们只需要在这个test目录下任意修改或者添加文件,然后进行commit,然后执行

git push origin master

进行代码提交,这是一种最简单的方式。

而如果我们本地已经有一个完整的git仓库,并且已经进行了很多次commit,这个时候第一种方法就不适合了。

假如我们本地有一个test2项目,我们需要的是在Github上建一个test项目,然后把本地test2上所有的代码commit记录提交到Github上的test项目。

首先,在Github上建一个test项目;
然后将test2项目与Github上的test项目进行关联,切换到test2目录,执行如下的命令:

git remote add origin git@github.com:WilliamYi96/TestRepository.git

这一步添加了一个远程仓库,它的地址就是git@github.com:WilliamYi/TestRepository.git, origin是给这个项目的远程仓库起的名字,名字虽然可以随便取,但是大家公认的只有一个远程仓库时名字就是origin。

查看当前项目有哪些远程仓库可以执行如下命令:

git remote -v

接下来,我们本地的仓库就可以向远程仓库进行代码提交:
不过在提交代码前要先设置下自己的用户名和邮箱,这些信息会出现在所有commit记录里,执行以下代码可以进行设置:

git config --global user.name "WilliamYi96"

之后进行代码提交:

git push origin master

这就是像github提交代码最简单也是最直接的命令行方式了。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14190次
    • 积分:833
    • 等级:
    • 排名:千里之外
    • 原创:71篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条