写在前面的话:
前面介绍了git的基本原理和操作。在命令行操作的阶段,在前面的一段时间,可以刻意记住这些命令,在Linux系统上操作上几遍,自己记清楚了,理解清楚命令,对于一些复杂的命令,可以放在记事本里面。以后用到的时候去再去查看记事本。公司的代码不会让我们去随便的联系提交,推送在这些命令,一个很好的方法就是使用Github。这些方法同样适应我们在上班时在公司提交代码。本节写的是在Github上做项目托管。前提是已经创建好了本地项目,本地项目的创建和操作可以参考:git版本控制(前一篇文章)Git 版本控制----本地管理Git 版本控制Git 版本控制Git 版本控制
介绍一下Github:
Github是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容项目。Github
同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,但是,付费账户也可以创建私有的代码仓库。除了充许个人和组织创建和访问代码库以外,它也提供了一些方便社会化数件开发的功能,包括允许用户跟踪其他用户、组织、软件库的动态,对软件代码的改动和Bug提出评论等。Github也提供了图表功能,用于显示开发者们怎样在代码库上工作以及软件的开发活跃程度。截止到2015年, Github已经有超过九百万注册用户和2110万代码仓库,事实上已经成为了世界上最大的代码存放网站。更重要的是 Android相关的开源项目几乎都托管在 Github上。
使用方法:(这些方法在网上有很多描写记录),在配置好Github的SSH Key后就可以进行项目托管了。
一.SSH Key配置
在使用GHub之前,我们首先需要到 Github上注册一个账户。在注册账户之后为了避免在使用过程中重复输入用户名、密码,通常需要配置生成 SSH Key,并且把该 SSH key添加到 Github上,使得在使用远程命令时 Github能够识别我们的机器,并且直接给予操作权限首先需要在本机中生成一个 SSH key,命令如下:
ssh-keygen -t rsa -b 4096 -C "your emai1gexample comm
把最后一个参数修改为你用于注册 Github的邮箱即可。成功之后就创建好了ssh key 。
具体的位置:在 Users/你的用户名/.ssh目录下生成了idra和 id rsa. pub文件,在这些文件中存储了你指定用户的 SSH key,通过这个Key你就可以直接访问 Github上的项目而不需要输入任何密码。此时我们的Key只是在本地生成了,下一步需要我们将该Key绑定到 Github账户上。这个SSH key就存储在 Users/你的用户名 /. ssh/id rsa.pub中, SSH key大致如下:
saharsa AAAAB3NZHTTP://www.worldhello.net/gotGithub/http://www.worldhello,net/gotGithub/http://www,worldhello.net/gotGithub/jy3exd/nyouremai1@example.com
字符比较长,这里省略了一部分,最后一个就是你的邮箱。此时复制 d rsa.pub中的所有内容,并且将它添加到Giub账户的 SSH key中。首先到你的 Github账户顶面,选择右上角头像右边的三角形,此时会弹出一个下拉菜单,选择" settings”。
这篇文档描写的很详细,上面写的是关键的点。具体的配置可以看看这个文章。https://blog.youkuaiyun.com/qq_18297675/article/details/79633950
二.项目托管——remote
在创建好本地项目,配置好SSH Key后。想在Github上托管自己的项目,就需要在Github上创建一个项目,同时得到项目的地址。比如得到地址为https://Github.com/…/xxxproject.git。
接下来:将在Github中创建的项目的地址添加到本地项目中,使得本地项目与Github上的项目关联在一起。命令为:
git remote add origin git@Github.com/..../xxxproject.git
通过上面的命令,我们向本地仓库添加了一个名为origin ,地址为git@Github.com/…/xxxproject.git的远程仓库。
通过git remote -v 查看该项目的远程仓库地址。(包括抓取地址(fetch)和推送的(push)的地址)使用这个命令,可以在拉项目代码的时候查看同事的代码拉取地址。
三.将本地项目推送到远程仓库——git push
在我们推送之前,要确保我们本地的项目代码已经提交了,即执行过了git commit命令了。
git push的使用:git push resp br
resp:远程仓库名 origin br:本地项目的分支名
Eg: git push origin master:master
#将本地的master分支提交到远程仓库origin的master分支上。
上面的命令还可以写成:git push origin master
四.更新代码——git pull
git pull origin master
如果不跟新代码就提交,git 会拒绝提交。所以在修改代码的第一步就应该把代码跟新到最新。