设置公钥:
使用SSH协议:
如:git@github.com:yytyff/blog.git
在git Bash中输入:
git clone git@github.com:yytyff/blog.git
在个人设置中(settings)->SSH and GPG keys 下的SSH中新建一个:
打开 generating SSH keys ->选择 https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
在git Bash中输入
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
然后一直按回车,在~/.ssh 中可以看到公钥id_rsa.pub 和私钥id_rsa
把公钥拷贝到GitHub中,然后命名就可以了。
设置成功后再次
git clone git@github.com:yytyff/blog.git
成功后就可以
cd blog
touch index.html
git add .
git commit -am "add file"
git push origin master
在github pages 中选择 master branch 就可以看到预览的链接
Git 优势
诞生自2005,Linux 开源社区
速度快
简单的设计
允许上千个并行分支
分布式
不受断网的影响
初次使用需要设置姓名和邮箱
git config --global user.name "你的姓名"
git config --global user.email johndoe@example.com
clone 项目
用于把一个GitHub是的项目clone(下载)到本地变为本地仓库
git clone git@github.com:jirengu/blog.git
cd blog
添加文件并提交
# 创建文件
touch a.md
# 在文件里写入一个字符串
echo "hello" > a.md
git status
添加文件并提交
# 把当前目录下的新增和修改的文件添加到暂存区
git add .
git status
# 把暂存区的更新提交到本地库
git commit -am "add file"
git status
# 把当前本地库里的改动推送到远程库(origin)的master 分支
git push origin master
修改删除文件
# 把远程仓库的变动更新合并到本地仓库
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 commit -am "删除a.md"
#如果之前已经git push origin master 过,后面可以直接简化成 git push
git push
Git 的复杂使用
本地创建一个 git 项目推送到远程空仓库
mkdir newProject
cd new Project
# 把一个文件夹初始化成一个本地 git 仓库
# 注意 仓库和文件夹的区别在于仓库下有一个隐藏的 .git文件夹,里面有一些信息
# 对于一个仓库,删除.git文件夹,就变成一个普通文件夹了
git init
touch index.html
echo "hello" > index.html
git add .
git commit -am "init"
本地创建一个 git 项目推送到远程空仓库
# 查看本地库里记录的远程库地址
git remote -v
# 这里把远程库的地址添加个标签叫origin
git remote add origin git@github.com:jirengu/blog2.git
# 推送到远程库地址
git push origin master
本地创建一个 git 项目推送到远程空仓库
#慎用,这样会强制推送,会覆盖别人的代码
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
分支合并
git checkout master
# 把 dev 分支上的内容合并到当前分支(master) 上
git merge dev
网友评论