github网站介绍、并使用git命令管理github(详细描述)
本章学习:
- 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管理github
2.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
(linux下载时,若出现error:403,可以试试vi /etc/resolv.conf,将nameserver地址改为: 114.114.114.114)
2.2 配置git
git config --global user.name "lifeyx" //个人账号
git config --global user.email @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 add . 将所有修改的文件进行添加
git rm file
将暂存区的文件删除掉,若工作区文件存在,则需要使用git rm -f file来强制删除掉
git commit -m “提交描述”
将暂存区里的文件提交到本地仓库,若暂存区某个文件被删除掉,则会删除仓库里的文件
git commit -am “提交描述”
-a:跳过暂存区,git自动将工作区里记录的所有文件添加到暂存区并一起提交,从而跳过git add步骤
git reset HEAD^
撤销commit,如果想修改commit时的文件,则使用上面命令撤销
git remote add origin https://github.com/lifeyx/test3.git
添加远程仓库(origin),也就是关联本地仓库和github仓库,该远程仓库地址通过下图的红框里获取:
git push 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 .txt //创建1.txt git add README.md //添加README.md git add .txt //添加1.txt git commit -m "第一次提交文件" //提交到本地仓库 git remote add origin https://github.com/lifeyx/test3.git //连接远程仓库地址 git push 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 .txt //创建1.txt git add .txt //添加1.txt git commit -m "第二天提交文件" //提交到本地仓库 git push 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 .txt //创建2.txt git add .txt //添加2.txt git commit -m "第二天提交文件" //提交到本地仓库 git push origin master //无需输入密码来上传
4.git管理仓库
打补丁:
git diff > new.patch
如果是当前仓库有了新文件,想把新文件也打进补丁(新文件必须需要git add之后才行),则输入:
git diff --cached > new.patch
查看状态:
Git status
查看本地修改的哪些东西
git diff Makefile //以查看上图的Makefile为例
添加暂存区
git add kernel/arch/mips/xburst/soc-x1000/chip-x1000/ap60pro/ap60pro/board.h //添加到暂存区 git add . //添加所有修改过的文件
撤回修改过的文件
git checkout Makefile //撤回Makefile的修改,如果是之前不存在的文件,则会撤销失败
将暂存区里的文件撤回到 修改文件中
git reset HEAD u-boot/drivers/video/jz_lcd/jz_lcd_v13.c //将jz_lcd_v13.c从暂存区撤销掉
提交到本地仓库
git commit -m "ap60pro update: compatible with old and new screens" //添加到本地仓库(但未上传) -m 后面跟提交的信息描述
撤销commit提交
git reset HEAD^
同步远程仓库(当别人在远程仓库进行修改后,本地没有更新时)
git pull --rebase origin master
上传远程仓库
git push origin master
//上传远程仓库,由于是使用git clone,所以不需要使用git remote连接远程仓库
//如果git push失败,打印: error: failed to push some refs to 'git@192.168.1.8:X1000.git',则使用git pull 同步一次
查看提交远程仓库的历史记录
tig //如下图所示:
其中” [master] {origin/master} {origin/HEAD} Merge branch 'master' of 192.168.1.8:X1000”,是使用git pull解决分支不同(Merge branch)时候提交的
如果想查看提交的某一次具体信息,也可以使用”git show [hash值]“来查看
git show示例:
1)通过tig,找到近期提交一次的记录hash值:
2)使用git show 17c7a097834439d0e9bf659e5e71ce313832c032,便可以查看具体提交的内容了
git pull如果打印error: You have not concluded your merge (MERGE_HEAD exists).时
1. 直接commit,再提交一次,之后再pull或merge就可以顺利进行。
2.放弃本地其它修改,直接覆盖,输入:
git reset --hard
git pull
查看每一行是哪次提交最后修改的
git blame filename
列出文件的所有修改记录
git log -p filename
github网站介绍、并使用git命令管理github(详细描述)的更多相关文章
- git命令,github网站以及sourceTree用法详解
1.git下载安装 这里只是windows安装方法: 进入这个网址:http://msysgit.github.com/,点击下载,就会下载下来一个exe文件,双击打开,安装即可 完成安装之后,就可以 ...
- 学习如何运用GitHub网站+出现的问题+Git基本操作总结
首先介绍一下GitHub网站: github是一个基于git的代码托管平台. GitHub 拥有一个非常鼓励合作的社区氛围.这一方面源于 GitHub 的付费模式:私有项目需要付费,而公共项目完全免费 ...
- git命令,github
1.git原理 2.git和svn的区别 SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把 ...
- ***Linux下使用git命令及github项目
在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen ##一直默认就可以了 3.将公钥加入到Github账户 ...
- git命令与github使用
GitHub 是一个类似 SourceForge 的免费项目管理及分享的服务平台,要想使用 github,用户可以免费注册成为 github 注册用户,之后使用git命令进行操作使用.github 的 ...
- VS Code使用Git可视化管理源代码详细教程
前言: 随着VS Code的功能和插件的不断强大和完善,它已经成为了我们日常开发中一个必不可缺的伙伴了.在之前我曾经写过一篇SourceTree使用教程详解(一个git可视化管理神器,想要了解的话可以 ...
- GitHub学习二-将本地Git库与Github上的Git库相关联
0 git clone 如果是从自己的github clone,一键搞定,和三步的git remote add功能一样. 1.创建本地库 新建目录,右键git bash here,输入 git ini ...
- 使用Git命令从Github下载代码仓库
Github作为最大的开源代码仓库,也是作为版本控制工具,简直就是程序员的天堂,是一座挖掘不尽的宝藏.现在讲解一下如何把一个Github上的项目下载到本地,也就是在本地也建立一个项目仓库,以后进行项目 ...
- 第18月第25天 github下载单个文件夹 git命令
1. 用 SVN 即可. 举例说明: 譬如这个项目: Mooophy/Cpp-Primer · GitHub, 我只想看 ch03 文件夹的代码怎么办? 先打开 ch03, 其 URL 为: &quo ...
随机推荐
- vue基础学习(一)
01-01 vue使用雏形 <div id="box"> {{msg}} </div> <script> window.onload= func ...
- Solr 管理界面删除所有数据
https://my.oschina.net/lcdmusic/blog/326698
- 怎么为WebStorm更换主题 修改字体样式
这篇文章主要用于帮助大家解决怎么为webstorm换theme. 首先,到选择一个自己喜欢的皮肤,Webstorm皮肤网址: http://phpstorm-themes.com/ 然后,选中你喜欢的 ...
- Git详解之一:Git起步
起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git ...
- JavaScript ES6中export及export default的区别
相信很多人都使用过export.export default.import,然而它们到底有什么区别呢? 在JavaScript ES6中,export与export default均可用于导出常量.函 ...
- Hadoop源码篇---解读Mapprer源码Input输入
一.前述 上次分析了客户端源码,这次分析mapper源码让大家对hadoop框架有更清晰的认识 二.代码 自定义代码如下: public class MyMapper extends Mapper&l ...
- InnoDB锁
共享锁和排它锁 InnoDB实现了标准的行级锁,包括两种类型:共享锁(S)和排它锁(X) 一个共享锁(S)允许事务持有这种锁来读取一行 一个排它锁(X)允许事务持有这种锁来修改或删除一行 如果事务T1 ...
- sqlserver资源
1.数据库“高可用性”和“灾难恢复”技术 参考: niyi0318的专栏
- pl/sql command window 初步接触
pl/sql command window基本操作 PL/SQL Developer应用两年了,今天第一次应用command window. command window类似于sqlplus窗口: 1 ...
- shader程序员需要注意的优化Tips
在写shader的时候,其实一些写法对于其执行影响非常大,而且由于gpu和cpu在架构上的不同,代码的优化思想也不一样,最近一直在写几个shader,为了性能问题,查阅了很多资料,把一些tips总结下 ...