1. Git与Github的使用
任务目标:
- 如何在git新建项目
- 如何获取ssh key
- 克隆项目
- 如何往Github上添加删除上传项目
step1:新建Git项目
注册并登录Github账号,点击New repository 按钮新建项目(需要操作的内容有点多,请耐心看)。
github1.png github2.png github3.png github4.png
step2:获取并配置公钥
打开git bash命令行工具,
git安装使用:
Windws: 安装git, 打开 gitbash
Linux 打开终端
Mac 打开终端
bash 输入指令:git clone 加上刚拷贝的ssh地址,如图所示。
(注意:初次使用会因为没有设置公钥而报错,不要惊慌,耐心跟着下面的操作就行了)
继续输入 ssh-keygen -t rsa -b 4096 -C "您的github邮箱"
git bash3.png
输入上面的命令后,一直按回车键,直到生成钥匙
git bash4.png
输入拷贝公钥的命令(也可直接找到公钥所在文件,用编辑器打开直接拷贝):cat ~/.ssh/id_rsa.pub
git bash5.png
打开Github个人主页,点击头像-->个人设置——>SSH设置-->添加SSH Key: 将拷贝的公钥添加上去
github5.png
step3:克隆项目
此时已配置好了ssh key,再在git bash输入git clone 命令就成功了:git clone git@github.com:jirengu/blog.git
继续练习:对已克隆项目进行命令行操作
git bash7.png切换操纵:cd blog
新建文件操作: touch index.com
添加到暂存区:git add .
提交到本地库(在本地电脑上保存该文件):git commit -am "addfile"
推送到Github远程库(将该文件推送至Github上):git push origin master
step4:开启Github pages线上预览功能
点开项目的Settings设置——>GitHub Pages-->选中master branch
github6.png
2. 为什么要使用Git?
- 首先要明确版本控制的概念:
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
- 本地版本控制系统
- 集中式版本控制系统(SVN)
- 分布式版本控制系统(Git)
- Git 的优势
诞生自2005,Linux 开源社区
- 速度快
- 设计原理简单
- 允许上千个并行分支
- 分布式上传,不怕断网等影响
- Git下载地址
windows安装地址
Mac 安装地址
3. Git 简单操作
- 重要概念:
状态 | 概念解释 |
---|---|
已提交(mommitted) | 该文件已经被安全地保存在本地数据库中了 |
已修改(modified) | 修改了某个文件,但还没有提交保存 |
已暂存(staged) | 把已修改的文件放在下次提交时要保存的清单中 |
- 起步
初次使用需要设置姓名和邮箱
git config --global user.name "你的姓名"
git config --global user.email 邮箱地址
- clone 项目
用于把一个GitHub是的项目clone(下载)到本地变为本地仓库
//克隆
git clone git@github.com:jirengu/blog.git
//切换到克隆项目目录
cd blog
- 添加文件并提交
git bash8.png//创建文件
touch a.md
//在文件里写入一个字符串
echo "hello" > a.md
git status
- 添加文件并提交
git bash9.png//把当前目录下的新增和修改的文件添加到暂存区
git add .
//查看状态
git status
- 把暂存区的更新提交到本地库
git bash10.png//提交到本地库
git commit -am "add file"
//查看状态
git status
- 推送到远程GitHub库
//把当前本地库里的改动推送到远程库(origin)的master 分支
git push origin master
git bash11.png- 修改删除文件
//把远程仓库的变动更新合并到本地仓库
git pull
//修改文件
vim a.md
git add .
//这里需要注意,如果提交消息包含大量字符串,提交参数不用加 m
//此时会进入 vim 界面,按下i进入编辑状态,进行编辑
//编辑完成后按下 esc 进入命令行状态,输入 :wq 保存退出 vim
git commit -a
git push origin master
rm -rf a.md
git add .
- 相关问题
git clone url和 git pull有什么区别
本地仓库和远程仓库的区别?
origin 代表什么?
4. Git的复杂使用
- 本地创建一个 git 项目推送到远程空仓库
//创建一个文件夹
mkdir newProject
//切换至该文件夹
cd new Project
//把一个文件夹初始化成一个本地 git 仓库
git init
(注意:仓库和文件夹 的区别在于仓库下有一个隐藏的 .git文件夹;对于一个仓库,删除.git文件夹,就变成一个普通文件夹了)
//新建一个文件
touch index.html
//写入“hello”内容至新建的文件
echo "hello" > index.html
//提交更新至暂存区
git add .
//提交至本地库
git commit -am "init"
//查看本地库里记录的远程库地址
git remote -v
//这里把远程库的地址添加个标签叫origin
git remote add origin git@github.com:jirengu/blog2.git
//推送到远程库地址
git push origin master
//慎用,这样会强制推送,会覆盖别人的代码
git push -f origin master
//在添加一个远程库的标签
git remote add gitlab git@gitlab.com:abc/blog.git
//推送到gitlab标签的地址上
git push gitlab master
//删除gitlab 标签
git remote remove gitlab
//修改origin标签对应的地址
git remote set-url origin git@github.com:jirengu/blog3.git
//把 gitlab 标签改名为coding
git remote rename gitlab coding
- 分支操作
//创建本地库dev 分支
git branch dev
//切换到dev 分支
git checkout dev
touch b.md
git add .
git commit -am "add b.md"
//推送到origin地址的dev分支上
git push origin dev
- 分支合并
// 切换到master
git checkout master
//把 dev 分支上的内容合并到当前分支(master) 上
git merge dev
- 问题:合并冲突
当自己和别人修改同一个文件的同一个地方,在执行 git pull 时更新本地合并时会出现冲突。
解决方法:
修改冲突文件
重新提交
网友评论