使用Git版本控制工具管理GitHub
使用Git版本控制工具管理GitHu
Git是一个分步式的管理系统:只要上传操作得当,所有的都可以相当于是中央服务器,成员代码共享,A写的代码B也有,一般把一个人当做主机,其他人通过该主机拼装代码并克隆到自己的电脑上;
这样即使是主机凉了,其他人也都会有各自的本地代码,都不会凉;
Svn是一个集中式的管理系统:所有人将各自的模块代码上传到中央服务器中进行拼装,当服务器凉了所有没有本地代码的人就都凉了;
一.配置Git
下一步下一步,注意可以设置为notepad修改;
安装完成后,先去电脑中查看是否有SSH秘钥,这个秘钥拥有互联网唯一性
进入C:\User\lyuweigh\.ssh中查看,有没有"id_rsa",和"id_rsa_pub"
如果没有,则需要创建秘钥:
ssh-keygen -t rsa -C "email@email.com","email@email.com"然后在输入:
//文件保存在本地.git/config中
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
二.设置GitHub
- 创建一个账号,进入设置

- 然后选择New SSH Key 将本地User/lyuweigh/.ssh/id_rsa_pub 内容复制进去,加一个标题 保存
- 然后在git中就可以进行pull 和 push 操作了
三.基本操作命令
提交被修改过的文件的方法到.git仓库
git add xxxx.xxx //提交指定文件
git add.//提交所有文件光提交是不行的,还需要对这次 提交|修改 进行说明
git commit -m 'xxxxxxx'
// -m 后面输入的是提醒备注的文本,最好详细查看仓库状态命令
git status
//如果有的文件提交到本地仓库,则会显示为红色,如果没有对提交的文件进行签名,会显示为绿色
//如果显示为红色,自行提交, 如果显示为绿色,对操作进行签名版本回退
使用git log 命令进行查看提交的版本迭代信息
git log
//如果输出的信息太多,加上--pretty=oneline ,会将显示信息减少,增加可读性使用回退代码
//根据每次commit代码时的签名来指定git本地仓库回退到的具体版本
git reset --hard^
//这里的'^'符号代表跳过的次数,出现一次就是跳回到上一个版本当从v3.0退回到v2.0的时候,原来版本的代码还在,只是使用git log是无法显示出v3.0的签名的
使用 git reflog
git reflog
//用来显示历史所有成功执行的命令每一次的命令 //以下是显示代码, 第一条是最近的代码,我回退了版本1, 剩下的是提交过的签名 $ git reflog
ed3bf60 (HEAD -> master) HEAD@{}: reset: moving to HEAD^
2afd461 (origin/master, origin/HEAD) HEAD@{}: commit: 免罪目录
ed3bf60 (HEAD -> master) HEAD@{}: commit: add xmind uml
451af7b HEAD@{}: commit: 修改了
b9188e0 HEAD@{}: commit: 修改签名
9f9d110 HEAD@{}: clone: from https://github.com/lyuweigh/First.git
//既然知道了上衣次版本号'免罪目录'的hash值是 "2afd461", 那么就可以通过版本回退命令来修改版本
git reset 2afd461
//这里的 "哈希值" 可以简略写, 只写前面几个git的版本控制是指针设计方式
四.Git原理
最外围的区域是工作区
.git 文件夹中有暂存区 (Stage)和主分支区(Header)

java Git add xxx 命令将文件提交到stage(暂存区)中;Git commit -m xxx 命令将文件提交到 Header(主分支)中不管是访问他人内容 , 还是自己的内容被访问, 所请求的资源都是Header中的资源
五.撤回工作区的修改:
git checkout -- file
//file是想要被改回的文件名
//丢弃工作区的修改, 回到当前版本库的状态
- 撤回暂存区的修改
git reset hard <file>
//file是想要被改回的文件名
//丢弃暂存区的修改
只要没有提交到远程库中,那就是可以修改的, 就算提交到了远程库中,大不了pull下载改一下在push上去,因为有 版本库 指针的存在 所以非特殊情况不会造成代码丢失
删除文件
删除当当前版本库中的内容:
git rm <file>
//由于是属于修改了当前工作区的文件,操作树就不为空了,需要手动提交该操作的签名
git commit -m '删除了xxxx'
六.分支区(Header)
每一个本地库都是一个分支(.git),将代码先commit到自己的当前分支上,随时都可以添加,并且速度快(本地传输),
敲一天代码,这一天内可以随意的将代码添加到本地分支中,并且有版本库的存在不用担心提交;
本地代码弄好后,将本地分支代码提交到远程仓库中,(为了防止冲突问题,要先将服务器中的代码pull(拉回)到本
分支上,再将本分支push(推出)到远程服务器中)
观自廖雪峰
使用Git版本控制工具管理GitHub的更多相关文章
- Git版本控制工具(三)----远程仓库GitHub的使用
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Git版本控制工具(一)----git的安装及创建版本库
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 学习使用Git 版本控制 代码管理
title: 学习使用Git 版本控制 代码管理 notebook: 经验累积 tags:Git --- Git 版本控制 学习教程 Git版本控制器,可以作为程序员.计算机科学和软件工程的研究人员在 ...
- git版本控制工具(二)----本地版本库的常用操作
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Git 版本控制工具(学习笔记)
GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core 之后回车输入密码,即可完 ...
- Git 版本控制工具使用介绍------Windows系统下使用
Git 是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什 ...
- git版本控制工具基本用法讲解(转)
一.安装Git 在linux系统使用非常方便,只需要打开shell界面,并输入: ? 1 sudo apt-get install git-core 按下回车后输入密码,即可完成Git的安装.但我们可 ...
- Git版本控制工具学习
Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...
- git版本控制工具的使用
目录 git版本管理工具使用 一丶Git的下载与安装 1.windows下的git的下载与安装 2.linux下的git安装 二丶常用命令 三丶Git仓库 1.配置仓库信息 2.仓库的创建于管理 四丶 ...
随机推荐
- Spark与缓存
预期成果 1.1 当前问题 当前以图搜图应用存在的问题: 当前使用spark RDD方案无法达到数据实时加载(每10分钟加载一次,虽然可配,但太短可能会有问题) Spark RDD内存会被分为两部 ...
- Step 0: 安装及启动
一.Setting up a Single Node Cluster: http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop- ...
- 只会用就out了,手写一个符合规范的Promise
Promise是什么 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息.Prom ...
- 可信执行环境(TEE)介绍 与应用
原文:http://blog.csdn.net/wed110/article/details/53894927 可信执行环境(TEE,Trusted Execution Environment) 是G ...
- 让loadrunner走下神坛(全)
作者: sunshinelius(转载请注明作者) Loadrunner无疑是一个强大有力的压力测试工具.它的脚本可以录制生成,自动关联:测试场景可以面向指标,多方监控:测试结果图表显示,拆分组合.相 ...
- checkbox怎么判断是否选中
下面这种可以使用 if($("#checkbox1").is(':checked')) { alert("1"); } else { alert("0 ...
- c++类之间的关系
我们知道,表达方式分为很多种,对于同一种事物,比如爱情,画家用图画和色彩表达爱恋:音乐家用音符和节奏表达喜爱之情,作家用文字表现爱慕. 而程序员怎么办? 程序员构建类,用类来表达单身之苦.因此,类就是 ...
- 时尚与深度学习系列:Fashion forward: Forecasting visual style in fashion
https://arxiv.org/pdf/1705.06394.pdf 将深度学习与时尚预测联系在一起,是一个很有趣但是估计结果会没什么成效的话题.因为,时尚预测这一领 ...
- homebrew cask安装launch rocket【转】
简介 brew cask是一个用命令行管理Mac下应用的工具,它是基于homebrew的一个增强工具. homebrew可以管理Mac下的命令行工具,例如imagemagick, nodejs,如下所 ...
- HihoCoder1644 : 完美命名的烦恼([Offer收割]编程练习赛37)(有向图的一笔画问题||欧拉路)
描述 程序员常常需要给变量命名.给函数命名.给项目命名.给团队命名…… 好的名字可以大大提高程序员的主观能动性,所以很多程序员在起名时都会陷入纠结和烦恼. 小Hi希望给新的项目起个完美的名字.首先小H ...
