智能家居系列
代码的管理的工具很多,在上一家公司使用的是SVN,现在的公司在使用SVN,但是使用的频率不是很高。互联网行业使用较多的是Github,鉴于Github的服务器在国外,每次访问时速度较慢,此处我们选用 码云,这种代码托管工具访问速 度较快,且 免费。
1 码云简介
Gitee.com(码云) 是 OSCHINA.NET 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 800 万的开发者选择 Gitee。
2 码云特性
- 基于 Git 的代码托管平台。
- 同时支持 Git 和 SVN 。
- 支持多语言。
- 免费 使用,包括私有仓库。
- 仓库自动备份。
- 可以进行项目点评。
- 可以进行代码质量分析。
- 项目可以一键部署到演示平台。
- 多语言 README 自动渲染。
3 账号注册
4 配置用户信息
操作的终端我们采用Cmder,这个个工具的特点是便捷、支持复制与粘贴。
1.查看git命令的使用方法
git
2.配置 Git 全局用户名和邮箱,注意替换用户名和邮箱
git config --global user.name "用户名"
git config --global user.email "注册Gitee的邮箱"
3.配置免密码访问
配置免密访问 Gitee.com 。为了能够向刚创建的仓库提交代码,需要配置加密的密匙到 Gitee.com ,在实现通信加密的同时,不需要用户每次都验证账号输入密码。执行下面的指令,一直回车就行。
ssh-keygen -t rsa -C "注册Gitee.com的邮箱地址"
命令执行完后,在 Windows个人用户目录 下会生成一个 .ssh目录 ,打开后可以看到生成的 私钥 和 公钥 文件
在.ssh目录中,新建两个文本文件 config 和 known_hosts
在 config 文件中加入以下内容
# gitee 指定私钥路径
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
打开公钥id_rsa.pub文件(以记事本形式打开),复制里面的内容,在 known_hosts 文件中加入复制的内容,把末尾的 邮箱名删掉 ( 注意 文件名要删掉后缀.txt)
gitee.com <粘贴id_rsa.pub的内容,并去掉它结尾的邮箱>
登录Gitee ,点击超链接进入 码云添加SSH公钥,熟悉的话也可以按一下操作进入。
5 公钥与私钥
1.将鼠标移动头像的位置,在弹出的列表中选择设置
2.在左侧的菜单栏中,选择SSH公钥。
3.验证成功后,打开 Cmder 输入下面命令测试认证Gitee.com 是否成功
6 创建仓库
1.登录gitee.com,点击+号,新建仓库。
2.填写 仓库名称
3.点击 克隆/下载 ,再选择所需要的复制,注意是SSH协议,不是HTTPS协议
7 常用的指令
1.从远程仓库克隆项目到本地
git clone <项目地址 > # https/ssh 地址皆可以
2.初始化本地仓库
git init # 创建本地仓库
3.本地仓库与远程仓库关联
git remote add <仓库名> <仓库地址> # 仓库名自定义 例如:origin
4.查看仓库名
git remote # 查看远程仓库的仓库名,加-v 查看仓库名和地址
5.更换远程仓库地址
git remote ser-url <仓库名> <仓库地址> #更换远程仓库地址
6.将文件添加添加到暂存区
git add . # . 代表所有,可以指定为具体文件
7.将暂存区中的文件提交到本地仓库
git commit -m “<备注说明>” #将暂存区中的文件提交到本地仓库
8.查看所有分支
git branch # 查看本地分支,加-a查看本地分支和远程分支,结果列表中前面标*标识当前使用分支
9.创建分支
git branch <分支名称 > # 创建分支
10.切换分支
git checkout <分支名称> # 切换分支
11.从将本地仓库的文件推动到远程仓库
git push <仓库名> <分支名称> # 推送时建议先(pull)更新一下
12.将远程仓库中跟新到本地
git pull <仓库名> <分支名称>
13.修改远程仓库名称
git remote rename <旧名称> <新名称>
14.查看提交记录
git log
15.回滚提交
#Reset会把后面提交的记录直接删掉
git reset --hard [commit hash] # 例如:git reset --hard 7b8bcaa0b02959126b923fe554824fa9df1dfd87
16.分支合并到主分支上
git merge <分支名称>
8 常见故障
8.1 现错误的原因是因为无用户信息
报错日志:
D:\xx\xx>git commit -m"初始化"
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'admin@DESKTOP-NHBTH4U.(none)')
解决措施:
# 1.添加你的邮箱
git config --global user.email "xxxx@qq.com"
# 2 添加你的昵称
git config --global user.name "name"
8.2 出现错误的主要原因是gitee中的README.md文件不在本地代码目录中
报错日志:
D:\xxx\xxx>git push origin master
To https://gitee.com/xxx/xxx.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/xxx/xxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
解决措施:
# 1.合并代码
git pull --rebase origin master
# 2.再次提交
git push origin master
欢迎一起讨论技术问题,求关注!