Git教程
1.git和github分别指什么?
名称 | 是什么 |
---|---|
git | 是一个用来管理本地代码版本的工具 |
github | 是一个是用来共享代码的服务器 |
2.git下载安装
Ⅰ.下载传送门:https://git-scm.com/
Ⅱ.安装:双击打开一直下一步安装,桌面右键有git bash here选项就表示安装成功
3.git与github的连接
(1)创建新的服务器远程仓库:
步骤 | 详情 |
---|---|
1. | 登录github官网,点击右上角头像左边的+号 |
2. | 点击New repository 新建一个远程仓库 |
3. | 输入Repository name仓库名,尽量用纯英文 |
4. | 输入Description仓库的描述 |
5. | 根据个人需求选公开还是私有 |
6. | 是否要初始化一个README阅读我 一般不勾自己项目会有 |
7. | 点击创建 |
第1~2步:
image第3~7步:
image(2)初次安装git需要设置用户名和邮箱(通常设置跟github上一样),否则git会提示:please tell me who you are.
两行命令:
新建一个文件夹,打开黑窗:
Ⅰ.git init
Ⅱ.git config --global user.email "1018440268@qq.com"
Ⅲ.git config --global user.name "baojunGit"
划重点:
加全局global,配置了一次,以后不需要再配置.
(3)让git本地仓库和github远程仓库连接起来:
方法Ⅰ.使用https:每次都要输入用户名和密码,输错就把提交命令再执行一次,重新验证
方法Ⅱ.使用SSH:可以让本地电脑和github账号永久关联,实际都用这种方式
SSH原理:
1.使用一个本地秘钥(电脑的身份证) 把你的本地秘钥和服务器github账号相互绑定.
2.每次提交都会读取你当前的本地秘钥,再和github服务器账号里面的秘钥对应,如果是一样的就允许提交
秘钥生成使用步骤 | 详情 |
---|---|
1. | 在git bash黑窗里面执行 ssh-keygen -t rsa -C "1018440268@qq.com",输入后一路回车 出现2048就表示成功 |
2. | 秘钥生成后会在C盘 > 用户 >你的用户名(英文或者administor) > .ssh > id_rsa.pub(这个就是本地秘钥) |
3. | 把这个id_rsa.pub 使用记事本打开,把代码复制一下 |
4. | 打开github帐号→ 点击设置→ 点击SSH设置→点击右上角new SSHKey→输入title(你的名字) key (复制公钥里面的代码)→点击Add即可→出现黑色的钥匙就表示成功 |
划重点:
Ⅰ.一个秘钥只能绑定一个账号
Ⅱ.一台电脑可以通过多个秘钥绑定多个账号,向分别对应的帐号传输数据
4.git常用命令
划重点:
除了首次初始化,工作时每天打开电脑,先拉取项目保存同步: git pull 远程仓库地址
(1)没有分支的提交操作:
git指令 | 作用 |
---|---|
1. git init | 初始化新建git代码库 |
2. git add . | 步骤2+3项目初始化才需要 |
3. git commit -m"init" | 步骤2+3项目初始化才需要 |
4. git add . | 添加当前目录的所有文件到暂存区 |
5. git commit -m"备注信息" | 提交暂存区到本地仓库 |
6. git push 远程仓库地址 | 提交本地仓库代码到远程主仓库 |
(2)有分支的提交操作:
git指令 | 作用 |
---|---|
1. git init | 初始化新建git代码库 |
2. git add. | 步骤2+3项目初始化才需要 |
3. git commit -m"init" | 步骤2+3项目初始化才需要 |
4. git branch dev | 创建名为dev的分支,名字可以自己修改 |
5. git checkout dev | 切换到dev分支 |
6. git add . | 添加当前目录的所有文件到暂存区 |
7. git commit -m"备注信息" | 提交暂存区到本地仓库 |
8. git push 远程仓库地址 dev | 提交本地仓库代码到远程分支仓库dev |
9. git checkout master | 合并本地分支步骤1: 切换到主分支 |
10. git merge dev | 合并本地分支步骤2:将dev合并到主分支 |
(3)冲突解决:
git指令 | 作用 |
---|---|
1. git status | 查看文件的状态,会显示冲突的文件名 |
2. 必须手动解决冲突后再提交 | 利用编辑器直接找到冲突文件,修改 |
(4)版本回退:
git指令 | 作用 |
---|---|
1. git log --oneline | 输出commit的内容 版本名(回退版本后,看不到之后的版本号,用git reflog指令查看所有提交过的版本) |
2. git reset --hard 版本号 | 回退到某个版本 |
注意:
git branch:可用于查看当前所处分支,及所有分支
git log:查看commit日志更详细的内容,一般用 git log --oneline比较直观明了
(5)克隆项目:
git指令 | 作用 |
---|---|
1. git init | 初始化本地仓库 |
2. git clone git@github.com:/.git | 克隆项目到本地 |
注意:
正常会成功的,如果报错误connect to host github.com port 22: Connection timed out
重复上述步骤,把协议从ssh方式换成https,用git clone https://github.com//.git
5.git常见报错
(1)Everything up-to-date:严格来说也不算报错,它只是在告诉你,提交区所有的东西都是最新的。
(2)The authenticity of host 'github.com (xxx.xx.xxx.xxx)' can't be established:少了一个known_hosts文件。
解决:弹出Are you sure you want to continue connecting (yes/no)? //输入yes,回车
本文同步发表在我的个人博客:https://www.lubaojun.com/
网友评论