本章学习:
1) 熟悉 github 网站
2) 通过 git 命令远程管理 github,
3)git 命令使用 ssh key 密钥无需输入账号密码
1. 首先我们来熟悉 github 网站
1.1 注册 github
登录 http://github.com/ , 然后点击 sign up, 来注册账户:
注册好了, 以及验证邮箱后, 然后进入 github 主页:
1.2 点击 start a project(启动第一个项目)
1.3 创建好后, 就会跳转到刚刚创建好的 test2 仓库 (项目) 主页, 如下两张图所示
图 1:
图 2:
先来介绍下上图常用的几个单词
repostory
仓库, 也就是项目的意思, 有多个项目就代表有多个仓库
star
收藏项目, 收藏的数目越多, 说明项目越好
fork
将源作者的项目克隆一份到自己的项目中
pull request
拉请求, 指如上图的 pull request.
比如: 别人通过 fork 你的项目后, 并改进了项目, 向你发送了 new pull request 请求,
然后你点击 pull request 按钮, 进去后, 会出现如下图所示:
再点击 Merge pull request, 则可以将改进的内容合并到自己的项目里,
watch
关注项目, 当你关注的某个仓库更新时, 便会通知在你的 github 主页上
lssues
问题, 点击进去就可以看到所有人提出的问题, 比如项目有 bug 等.
当自己想发表问题时, 则点击 lssues->new lssues, 如下图所示:
1.4 接下来, 我们点击仓库主页的 create new file, 来创建一个文件:
提交后, 便会返回我们 test2 仓库主页里:
然后点击 commits 提交按钮, 便可以看到刚刚创建 main.c 的详细信息:
PS: 当我们错误删除了一个文件, 也可以通过 commits 按钮, 来找到以前删除的文件
1.5 学习如何来更改仓库名称和删除仓库
在仓库主页里点击 settings(仓库设置), 如下图所示 (以 test3 为例):
然后便会跳转到下个界面, 就可以更改仓库名称了:
继续往下翻, 就可以找到删除仓库了:
2. 使用 git 管理 github2.1 安装 git
下载地址: https://www.git-scm.com/download/win
(若慢的话, 则进入 http://www.wmzhe.com/soft-38801.html 下载)
下载好后, 直接默认安装即可, 若只喜欢命令行模式, 则在组件界面取消 git gui here 即可, 如下图所示:
安装好后, 如下图所示, 即可通过 linux 命令来操作 git 命令:
若在 linux 上安装 git, 直接输入:
apt-
get
install git
2.2 配置 git
git config --global user.name "lifeyx" //个人账号
git config --global user.email 123456@qq.com //个人邮箱地址
上面的 --global 选项, 表示以后管理 git 库时, 默认使用上面的用户信息, 也可以通过 git config -l 来查看配置信息
2.3 git 命令介绍 1) 介绍之前, 首先来讲解下 git 的 3 个区域如下图所示
上图的 git 仓库, 是指本地仓库, 不会更新到远程仓库 (github 网页上的仓库), 需要使用 git push -u origin master 命令才行
2) 然后来讲解下 git 常用命令
git init
对当前目录进行 git 管理, 该目录便会成为工作区, 并在当前目录下会出现个. git 隐藏目录.
该. git 里会保存 git 所需要的数据和资源, 也就是 git 仓库和暂存区都会保存在. git 里
git clone https://github.com/lifeyx/test2.git
克隆复制远程仓库到当前目录, 生成 test2 文件夹, 里面会自动创建. git 目录, 并保存远程仓库信息
该远程仓库地址通过下图的红框里获取:
git status
查看工作目录下文件的状态, 是否 add 添加到了暂存区, 以下图为例:
git add file
将工作区的文件添加到暂存区
git rm file
将暂存区的文件删除掉, 若工作区文件存在, 则需要使用 git rm -f file 来强制删除掉
git commit -m "提交描述"
将暂存区里的文件提交到本地仓库, 若暂存区某个文件被删除掉, 则会删除仓库里的文件
git commit -am "提交描述"
-a: 跳过暂存区, git 自动将工作区里记录的所有文件添加到暂存区并一起提交, 从而跳过 git add 步骤
git remote add origin https://github.com/lifeyx/test3.git
添加远程仓库 (origin), 也就是关联本地仓库和 github 仓库, 该远程仓库地址通过下图的红框里获取:
git push -u origin master
推送 (同步) 数据到远程仓库, 若是本地上传, 必须先使用上个命令来指定远程仓库地址(origin),
若是从远程仓库克隆复制的, 则不需要, 因为. git 里会自动保存远程仓库地址.
2.4 git 管理远程仓库 - 实例 1
实例 1 步骤, 通过创建新的远程仓库, 然后将本地的数据推送 (同步) 到远程仓库里
1) 首先创建新的远程仓库, 以 test3 为例
然后找到远程仓库地址为: https://github.com/lifeyx/test3.git
2) 进入 github 命令行, 输入
mkdir test3
cd test3
echo "项目描述test3" >> README.md
git init //初始化git
vi 1.txt //创建1.txt
git add README.md //添加README.md
git add 1.txt //添加1.txt
git commit -m "第一次提交文件" //提交到本地仓库
git remote add origin https://github.com/lifeyx/test3.git //连接远程仓库地址
git push -u origin master //上传到远程仓库地址,并输入账号密码
3) 查看结果
2.5 git 管理远程仓库 - 实例 2
实例 2 步骤, 就是通过克隆来将远程仓库下载到本地, 然后本地修改数据后, 并推送 (同步) 数据到远程仓库
1) 通过以前的远程仓库 test2 为例
如下图所示, 可以看到 test2 仓库更新时间都是处于 1 天前的:
然后通过上图的绿色按钮, 找到 test2 地址为: https://github.com/lifeyx/test2.git
2) 进入 github 命令行, 输入
git clone https://github.com/lifeyx/test2.git //下载test2仓库
cd test2 //进入仓库
vi 1.txt //创建1.txt
git add 1.txt //添加1.txt
git commit -m "第二天提交文件" //提交到本地仓库
git push -u origin master //上传到远程仓库地址,并输入账号密码
PS:
由于 git clone 会自动生成. git 隐藏目录, 所以上面无需 git init 命令初始化.
而且. git 目录里保存了远程仓库地址, 所以上面无需 git remote 命令连接远端.
3) 查看结果
3. 每次上传到远程仓库地址时, 都要输入账号密码, 是不是很麻烦?
接下来便通过 ssh key 密钥, 使主机与服务器连接连接, 这样就不用每次输入账号密码
3.1 生成 ssh key
首先通过 ls ~/.ssh 命令, 查看是否已有 ssh key, 若有的话, 先备份, 然后通过 rm -rf ~/.ssh 来删除
1) 输入, 创建密钥
ssh-keygen -t rsa -C "123456@qq.com" // "..."里输入邮箱号
2) 然后会提示设置密码, 直接连按 3 个回车, 表示密码为空 3) 将新生成的 key 添加到 ssh-agent 中
eval "ssh-agent -s"
ssh-add ~/.ssh/id_rsa
4) 若显示 Could not open a connection to your authentication agent., 则继续输入
ssh-agent bash
ssh-add ~/.ssh/id_rsa
如下图所示, 出现 Identity added 字段, 则表示写入成功, ssh key 公钥便保存在 id_rsa.pub 文件中了:
5) 然后通过 cat ~/.ssh/id_rsa.pub 将 ssh key 公钥打印出来, 并复制
3.2 将复制的 ssh key 公钥添加到 github 中
跳转页面后, title 标题随意写, 将 ssh key 复制到 key 框里即可
3.3 测试 ssh key
输入 ssh git@github.com, 如下图所示, 显示 Hi youname! , 则表示成功了
3.4 成功后, 就可以使用 git 协议来下载仓库. 还是以 test2 仓库为例 1) 首先查看 test2 仓库的 ssh 协议的地址 (之前是 http 协议地址)
如上图所示, 点击红框后, 前缀 https:// 变为了 git@
2) 然后进入 github 命令行, 来测试
git clone git@github.com:lifeyx/test2.git //下载test2仓库
cd test2 //进入仓库
vi 2.txt //创建2.txt
git add 2.txt //添加2.txt
git commit -m "第二天提交文件" //提交到本地仓库
git push origin master //无需输入密码来上传
测试成功, 以后就可以不用在输密码了, 谢谢各位阅读~
来源: https://www.cnblogs.com/lifexy/p/8353040.html