一.为什么使用Github
1.Github的特点
- 开源的分布式版本管理系统
- 开源项目集中的代码库
- 所有略有规模的公司都在使用
2.Github的功能介绍
- 记录多个版本
- 查看历史操作,可以进行版本回退和前进的控制
- 多端共享代码,自动合并
3.Github与SVN
- SVN版本集中管理,所有的代码都在中央服务器上
- Git去中心化,每个服务器上都有一个完整的代码库
二.Github的使用
1.安装Git客户端
2.检查安装是否成功
git --version
3.拥有一个Git账号
- 到github官方创建
- 推荐使用命令行进行操作
4.配置sshkey
- 生成key:
ssh-keygen -t rsa -C "邮箱地址"
cd ~/.ssh(用户目录下的.ssh文件夹)
- 复制id_rsa.pub的公钥内容到github网站中
5.配置多个sshkey[如果只有sshkey,则不需要配置config,会有默认]
-
cd ~/.ssh(用户目录下的.ssh文件夹)
-
vim config
-
添加
Host/HostName/User/IdentityFile
四项- Host为
github.com
- HostName为
github.com
- User为github账户名
- IdentityFile为id_rsa的绝对路径
- Host为
-
实例config文件(注意如果是多个id_rsa,注意要自行改名,保证文件不冲突)
#个人git Host github.com HostName github.com User jack_wangzhe IdentityFile /Users/jack/.ssh/id_rsa_github #公司git Host 公司的host HostName 公司的hostname User 公司下发的账户名 IdentityFile /Users/jack/.ssh/id_rsa_company
6.基本命令
git status
查看当前状态git add 文件名
将文件添加到暂存区git commit -m 描述信息
将文件添加到版本库git push
将文件推送到远程仓库git pull
将文件从远程仓库拉取git branch
查看本地分支git branch -a
查看所有远程的分支git checkout -b 分支名
创建分支并切换到该分支git checkout 分支名
切换分支git branch -d 分支名
删除本地分支(注意删除之前要切换到其他分支上)git branch -r -d origin/分支名
删除远程分支(注意需要补充推送git push origin :分支名
origin后面有一个空格)git merge 分支名
将分支名上的分支内容合并到当前分支上(如同时修改了一个内容,则需要解决合并冲突)
7.项目的版本操作
- 版本回退:都是本地回退,之后把更改的操作推送到远程
- 回退到上一版本的命令:
git reset --hard HEAD^
- 回退到上一百个版本的命令:
git reset --hard HEAD~100
- 查看所有版本号:
git reflog
左侧有对应的版本号 - 回退到指定的版本:
git reset --hard 版本号