初识GitHub·简介篇
前言
-
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。同样,eoe.cn客户端的源码也托管在github上。
-
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
-
在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。
-
GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。
【如何使用】
首先,进入 GitHub 的官网:www.github.com
一. 注册账号
标注 1:Sign in,登录;
标注 2:Sign up,注册。
如上图所示,这是 GitHub 的官网首页,点击 Sign up 进行注册:当然已有账户的点击Sign in进行登录就可以啦
标注 1:Username,用户名;
标注 2:Email Address,邮箱地址;
标注 3:Password,密码;
标注 4:Create an account,创建账号按钮。 上面的信息都填写完成后,点击 Create an account ,进入如下界面:
标注 1:公开的,免费仓库;
标注 2:私有的,付费仓库。 如上图所示,我们进入了注册 GitHub 账号流程的第 2 步,在这里有一点需要我们注意,那就是:GitHub 的仓库分为两种,一种是public repositories公开免费版,一种是private repositories私有付费版。其中,私有仓库一般是由企业或者不希望自己的仓库公开的个人用户购买,这也是 GitHub 的主要收入来源。在这里,我们选择免费版就可以,然后点击Continue,进入如下界面:
如上图所在,这是注册 GitHub 账号流程的第 3 步,也是最后一步。这个步骤的主要作用就是收集用户的个人信息,如果感兴趣的话,可以对上面的“ 问答表 ”进行勾选,然后点击Submit提交;如果不感兴趣的话,则可以直接点击skip this step跳过这一步。无论点击两者之中的那个按钮,都将进入如下界面:
标注1:Read the guide,阅读指南;
标注2:Start a project,建立项目。
如上图所示,到这里,说明我们已经成功注册了 GitHub 的账号了。
二. GitHub 仓库的步骤及方法
如上图所示,此为博主的 GitHub 个人主页,点击左上角图标注所示的绿色
New按钮 或者点击右上角+号 里面的New repository进入如下界面:
进入下一步:
标注 1:Repository name,仓库名称;
标注 2:Description,可选描述,也就是写不写都可以;
标注 3:Public(公共),默认的仓库类型 Private(个人 私密);
如上图所示,这是创建 GitHub 仓库的核心页面,接下来,点击绿色Create repository按钮即可:
三.Git 的安装流程及步骤
现在,我们已经知道了如何创建 GitHub 账号、创建仓库设置等等,但是我们还要知道:GitHub 是基于版本控制系统 Git 之上的啊! 如果我们想要进行代码托管,想要进行团队协作,这都少不了一个工具,那就是:Git。
因此,在本篇博文中,我们就一起来了解一下 Git 的安装流程及步骤。
要在自己电脑上使用git我们还需要一个git客户端 windows用户下载链接:<Git - Downloading Package (git-scm.com)>
mac用户下载链接:<Git - Downloading Package (git-scm.com)>
下载好之后安装一路next下来,安装成功,在任何文件夹下鼠标点击右键出现菜单中有 Git GUI here 、 Git Bash here,说明安装成功 安装成功之后我们来配置git
配置git
如果SSH key还没有部署好 那先将SSH key部署好 输入命令:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
Generating public/private rsa key pair...
三次回车即可生成 ssh key
查看你的 public key,并把他添加到码云(Gitee.com) [SSH key添加地址]
cat ~/.ssh/id_rsa.pub
会得到一大串的代码这就是获取到的key值 将它复制放入 上面设置SSH公钥中
添加后,在终端(Terminal)中输入
ssh -T git@git.oschina.net
若返回 Welcome to Git@OSC, yourname!
则证明添加成功。
快速设置git
1. 随便建一个目录 里面建一个文件 可以在电脑盘中任意地方存放本地仓库
2. 在命令行里进入刚才新建的项目
git init (初始化本地 git 仓库)
git add .
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:xxxxxxxxxx/xxx.git
git push -u origin main
git的一些指令简单介绍
* git flow 规范
* github: 私人的
* gitlab: 企业的
## git 注意事项
* git push origin main 之前, 必须 git pull origin main
* main 分支: 上线分支 (把 main 分支上的代码 通过工具 发到 OSS), 只有组长有权限
* 建一个新项目的 git 仓库
* 点 new
* 填入项目名称
* 选择 private
* 点击最下面的按钮
* 随便建一个目录 里面建一个文件
* 在命令行里进入刚才新建的项目
* git init (初始化本地 git 仓库)
* git add .
* git commit -m "first commit"
* git branch -M main
* git remote add origin git@github.com:1937444194/2006A.git
* git push -u origin main
* 一个git项目 可以有多个分支, 每个分支都是一个独立的项目
* 添加 git 权限
## 进公司之后 git 的配置
* git config --global user.name "git右上角的名称"
* git config --global user.email git账号是公司给你新开的
* 配置 公钥 私钥
ssh-keygen -t rsa -C "公司给你的登录账号"
cat ~/.ssh/id_rsa.pub // 打开公钥, 拷贝所有内容
* git clone: 拷贝 git 项目到本地
* git status: 查看本地文件状态
* git log: 查看提交日志
* git add .: 跟踪文件 把代码保存到缓冲区
* git commit -m '描述文字(有意义的)': 把项目提交到本地仓库
* git push origin 分支名: 提交 (当前在哪个分支下面 就只能往当前这个分支 push)
* git branch -v: 查看本地分支, *号表示当前在哪个分支上
* git branch -a: 查看本地和远程的分支
* git checkout -b 分支名: 基于本地分支创建自己本地的分支
* git checkout 分支名: 切换分支 (只有当前分支上没有任何修改了 才能切换分支)
* git checkout -b 分支名 origin/分支名: 基于远程分支创建自己本地的分支
* git pull origin 分支名: 拉取最新代码
* git fetch: 同步远程分支
* git diff: 查看修改了具体的文件代码
* git reset --hard commit哈希值: 回滚代码
* git reset .: 撤销 add
* git checkout (文件名 | .): 撤销修改
* git reflog: 查看所有所有命令的日志
* git stash save '描述文字': 把修改的代码 缓存到缓冲区, 代码就变成没改之前的样子
* git stash list: 查看存储的缓存列表
* git stash apply: 回到最近储藏
* git stash apply stash@{位置}: 回到某一个存储上 从0开始
* git stash clear: 清空所有 stash
git merge 分支名 合并