Web3.Git与GitHub的使用
2017-11-03 本文已影响9人
FiredEarthMusic
ssh-keygen -t rsa -b 4096 -C "fem@google.com"
//Users/wingo/.ssh/id_rsa 私钥
//Users/wingo/.ssh/id_rsa.pub 公钥
cat ~/.ssh/id_rsa.pub
//复制到SSH and GPG keys
cd blog
touch index.html
git add . //添加到暂存区
git commit -am "addfile" //提交到本地库
git push origin master //推送到github远程库
版本控制
版本控制是一种记录一个或若干文件内容变化,
以便将来查阅特定版本修订情况的系统
本地版本控制系统
集中式版本控制系统(svn)
分布式版本控制系统(git)
git
源自2005 linux开源社区
速度
简单的设计
允许上千并行分支
分布式
重要概念
已提交(committed)该文件已经被安全地保存在本地数据库中
已修改(modified)修改了某个文件,但还没有提交保存
已暂存(staged)把已修改的文件放在下次提交时要保存的清单中
1.png
起步
初次使用需要设置姓名和邮箱
git config --global user.name "你的名字"
git config --global user.email john@example.com
clone项目
用于把一个github的项目clone到本地变为本地仓库
git clone git@github.com:jriengu/blog.git
cd blog
//创建文件
touch a.md
//在文件中写入一个字符串
echo "hello" > a.md
//查看状态
git status
git add .
git status
//把暂存区的更新提交到本地库
git commit -am "addfile"
git status
git push
//把当前本地库里的改动推送到远程库(origin)的master分支
//git push origin master
修改删除文件
//比如别人在远程仓库提交更新了代码
//我们本地还没有更新
//这时直接git push 会报错
//我们把远程仓库的变动更新合并到本地仓库
//先 git pull
git pull
//git pull之后会进入vim的命令状态
//修改文件
vim a.md
git add .
git rebase-i(squash,pick)
git push-u origin master/dev
git cherry-pick[commit hash id]
git clone url 和git pull 有什么区别
本地仓库和远程仓库的区别
origin代表什么
复杂使用
//本地创建一个git项目推送到远程空仓库
mkdir blog
cd blog
touch readme.md
git init
git status
git add .
git commit -am "init"
git remote add origin git@github.com:fem/blog.git
git push origin master
//项目也可以推送到支持git的地址 不光是github
//查看本地库里记录的远程库地址
git remote -v
//这里把远程库的地址添加个标签叫origin
git remote add origin git@github.com:fem/blog.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:fem/blog2.git
//把gitlab标签改名为coding
git remote rename gitlab coding
//分支操作
//查看所有分支
git branch -a
//蓝色或绿色代表本地分支 红色代表远程分支
//*代表当前所处分支
//创建本地库dev 分支
git branch dev
//切换到dev分支
git checkout dev
//推送到origin地址的dev分支上
git push origin dev
git merge dev
冲突
当自己和别人改同一个文件的同一个地方,
在执行git pull 时更新本地合并时会出现冲突
git pull origin master
1.修改冲突文件
2.重新提交
题目1:在命令行运行下面两句
git config --global user.name 你的名字
git config --global user.email 你的邮箱
题目2:注册 GitHub 账号
题目3:在 GitHub 上创建一个名为 blog 的项目,在里面新建后缀为.md的文件,内容为任务2里写的markdown格式的文章。通过命令行的方式push 到 GitHub 的 blog 项目下。在当前项目的设置里开启Github Pages
题目4:按照 教程 创建另一个名为 demos 的仓库,在仓库里新建 test/test.html 文件,然后将预览链接回复到本任务, 注意:这里的预览地址默认读取该地址下的 index.html 文件,如果你仓库下的HTML文件的文件名不是index.html,请务必在预览地址后加上你的HTML文件名。
题目5:练习使用 饥人谷Bin500, 打开写任意一段代码,ctrl+S保存后把网页上的链接回复到本任务。
(说明:饥人谷Bin是在线预览代码的一个工具,你在里面写完代码,然后按Ctrl+S保存,拷贝链接发出来,其他人就可以看到你的代码和效果预览,之后的学习,以及提问代码问题会经常需要用到