GitHub 是基于 git 实现的代码托管。git 是目前最好用的版本控制系统了,非常受欢迎,比之 svn 更好。
GitHub 可以免费使用,并且快速稳定。即使是付费帐户,每个月不超过 10 美刀的费用也非常便宜。
利用 GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。
创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub 做得非常理想。
一、创建 Github 仓库
1-1 登录 github
github 的官方网址:https://github.com,如果没有账号,赶紧注册一个。
点击 Sign in 进入登录界面,输入账号和密码登入 github。
1-2 创建 repository(仓库)
下面是创建仓库信息,只有名字是必填项,现在我创建了一个仓库叫:VerticalViewPager
创建成功后,可以看到自己的仓库地址,如此,我的远程免费的仓库就创建了。它还介绍了 github 仓库的常用指令。这个指令需要在本地安装 git 客户端。
git init // 把这个目录变成 Git 可以管理的仓库
git add README.md // 文件添加到仓库
git add . // 不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部 add 了
git commit -m “first commit” // 把文件提交到仓库
git remote add origin git@github.com:wangjiax9/practice.git // 关联远程仓库
git push -u origin master // 把本地库的所有内容推送到远程库上
二、安装 git 客户端
Git 是目前世界上最先进的分布式版本控制系统, 它有以下特点:
分布式 : Git 版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;
保存点 : Git 的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;
Git 离线操作性 :Git 可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git 所有的操作不需要在线进行; 这意味着 Git 的速度要比 SVN 等工具快得多, 因为 SVN 等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;
Git 基于快照 : SVN 等老式版本控制工具是将提交点保存成补丁文件, Git 提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据 (作者, 日期, GPG 等);
Git 的分支和合并 : 分支模型是 Git 最显著的特点, 因为这改变了开发者的开发模式, SVN 等版本控制工具将每个分支都要放在不同的目录中, Git 可以在同一个目录中切换不同的分支;
分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到 GitHub 中去;
分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。
2-1 下载 git 客户端
官方下载地址:http://git-scm.com/download/ 根据你自己的系统 下载对应版本
2-2 安装客户端
下载好之后咋们开始安装吧,欢迎界面,下一步。
选择安装路径,千万别选带中文的路径,有时候会引起不必要的误会。
选择安装组件,按默认的来就好了。
1)图标组件 (Addition icons) : 选择是否创建快速启动栏图标 或者 是否创建桌面快捷方式;
2)桌面浏览 (Windows Explorer integration) : 浏览源码的方法, 单独的上下文浏览 只使用 bash 或者 只用 Git GUI 工具; 高级的上下文浏览方法 使用 git-cheetah plugin 插件;
3)关联配置文件 (Associate .git*) : 是否关联 git 配置文件, 该配置文件主要显示文本编辑器的样式;
4)关联 shell 脚本文件 (Associate .sh) : 是否关联 Bash 命令行执行的脚本文件;
5)使用 TrueType 编码 : 在命令行中是否使用 TruthType 编码, 该编码是微软和苹果公司制定的通用编码;
设置开始菜单中快捷方式的目录名称,默认就好,下一步吧
设置环境变量 : 选择使用什么样的命令行工具, 一般情况下我们默认使用 Git Bash 即可, 默认选择;
1)Git 自带 : 使用 Git 自带的 Git Bash 命令行工具;
2)系统自带 CMD : 使用 Windows 系统的命令行工具;
3)二者都有 : 上面二者同时配置, 但是注意, 这样会将 windows 中的 find.exe 和 sort.exe 工具覆盖, 如果不懂这些尽量不要选择;
选择换行格式,依然是默认就好。
1)检查出 windows 格式转换为 unix 格式 : 将 windows 格式的换行转为 unix 格式的换行在进行提交;
2)检查出原来格式转为 unix 格式 : 不管什么格式的, 一律转为 unix 格式的换行在进行提交;
3)不进行格式转换 : 不进行转换, 检查出什么, 就提交什么;
选择终端模拟器,依然默认就好
1)使用 MinTTY,就是在 Windows 开了一个简单模拟 Linux 命令环境的窗口 Git Bash
2)使用 windows 的系统的命令行程序 cmd.exe
选择默认就好,不用文件系统缓存
安装中……
git 终于安装成功咯。
2-3 绑定用户
打开 git-bash.exe,在桌面快捷方式 / 开始菜单 / 安装目录中
因为 Git 是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识,用户和邮箱为你 github 注册的账号和邮箱
ps:git config –global 参数,有了这个参数,表示你这台机器上所有的 Git 仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
三、为 Github 账户设置 SSH key
众所周知 ssh key 是加密传输。
加密传输的算法有好多,git 使用 rsa,rsa 要解决的一个核心问题是,如何使用一对特定的数字,使其中一个数字可以用来加密,而另外一个数字可以用来解密。这两个数字就是你在使用 git 和 github 的时候所遇到的 public key 也就是公钥以及 private key 私钥。
其中,公钥就是那个用来加密的数字,这也就是为什么你在本机生成了公钥之后,要上传到 github 的原因。从 github 发回来的,用那公钥加密过的数据,可以用你本地的私钥来还原。
如果你的 key 丢失了,不管是公钥还是私钥,丢失一个都不能用了,解决方法也很简单,重新再生成一次,然后在 github.com 里再设置一次就行
3-1 生成 ssh key
首先检查是否已生成密钥 cd ~/.ssh,ls 如果有 3 个文件,则密钥已经生成,id_rsa.pub 就是公钥
也可以打开我的电脑 C:UsersAdministrator.ssh 里面找到
如果没有生成,那么通过 $ ssh-keygen -t rsa -C“6215048wjl@163.com”来生成。
1)是路径确认,直接按回车存默认路径即可
2)直接回车键,这里我们不使用密码进行登录, 用密码太麻烦;
3)直接回车键
生成成功后,去对应目录 C:UsersAdministrator.ssh 里, 用记事本打开 id_rsa.pub,得到 ssh key 公钥
3-2 为 github 账号配置 ssh key
切换到 github,展开个人头像的小三角,点击 settings
然后打开 SSH keys 菜单,点击 Add SSH key 新增密钥,填上标题,跟仓库保持一致吧,好区分。
接着将 id_rsa.pub 文件中 key 粘贴到此,最后 Add key 生成密钥吧。
如此,github 账号的 SSH keys 配置完成。
四、上传本地项目到 github
4-1 点击复制 SSH 地址备用
4-2. 接下来就到本地操作了,首先右键你的项目,如果你之前安装 git 成功的话,右键会出现两个新选项,分别为 Git Gui Here,Git Bash Here, 这里我们选择 Git Bash Here,进入如下界面,VerticalViewPager 即为我的项目名。
4-3. 接下来输入如下代码(关键步骤),把 github 上面的仓库克隆到本地
git clone https://github.com/longxuanzh…(https://github.com/longxuanzhigu/VerticalViewPager.git 替换成你之前复制的地址)
4-4. 这个步骤以后,你的本地项目文件夹下面就会多出个文件夹,该文件夹名即为你 github 上面的项目名,如图我多出了个 VerticalViewPager 文件夹,我们把本地项目文件夹下的所有文件(除了新多出的那个文件夹不用),其余都复制到那个新多出的文件夹下,
4-5. 接着继续输入命令 cd VerticalViewPager,进入 VerticalViewPager 文件夹
4-6. 接下来依次输入以下代码即可完成其他剩余操作:
git add .(注:别忘记后面的.,此操作是把 VerticalViewPager 文件夹下面的文件都添加进来)
git commit -m “ 提交信息 ”(注:“提交信息”里面换成你需要,如“commit”)
git push -u origin master(注:此操作目的是把本地仓库 push 到 github 上面,此步骤需要你输入帐号和密码)
五、操作完成,上传完成之后就可以在 Github 上看到本地上传的项目了。
以下是个人公众号 (longxuanzhigu),之后发布的文章会同步到该公众号,方便交流学习 Android 知识及分享个人爱好文章: