git-入门
一、简介
Git是目前世界上最先进的分布式版本控制系统,Git中绝大部分操作都是访问本地资源,不需要网络,其中有三个概念比较重要:1. 工作目录 2. 暂存区域 3.本地仓库。
简单说明一下,工作目录:项目某个版本的内容,供我们使用;暂存区域:一个文件,保存了下次将提交的文件列表信息;本地仓库:保存项目元数据的地方,git最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
基本的工作流程为:1. 修改文件 2. 将修改后的文件保存到暂存区域 3. 提交更新到本地仓库中
二、安装
1. 在Windows上安装Git,下载 msysGit Git-2.8.1-64-bit.exe 下载完成后,一路默认安装即可,没啥可注意的我觉得。。
还有一个小乌龟 TortoiseGit 可以安装,是一个git的GUI管理工具,百度一下安装即可,这里我使用Git Bash来操作,不用图形界面了。
2. 配置Git的工作环境,配置个人的用户名和邮箱,Git提交时会引用这两条信息,说明提交者身份,windows下配置文件在C盘用户主目录下,Linux下/etc /gitconfig or ~/.gitconfig
$ git config --global user.name "cyhe" $ git config --global user.email "cyhe@example.com" $ git config --list
三、仓库的创建
首先创建版本库,有两种方法,一是在当前目录下直接初始化一个新的Git仓库,二是从已有的Git仓库中克隆一个新的镜像仓库,操作如下:
1. 打开Git Bash,在F:/git-project 目录下创建一个netty版本库,使用 【git init】 命令
2. 从现有仓库克隆,从github仓库克隆
首先,注册github帐号,创建一个空的仓库;
接着,在本地生成 ssh 公钥和私钥,直接在Bash中执行 ssh-keygen -t rsa –C "cyhe@example.com" 然后在用户目录下会生成一个 .ssh 目录,其中id_rsa为私钥,id_rsa.pub为公钥;
最后,将公钥内容添加到github中,步骤:settings --> SSH and GPG keys --> New SSH key
在这里我新建Github仓库时选中了 Initialize this repository with a README 所以仓库中包含一个文件,如果不选中而新建的话会有如下提示
可以根据提示,把本地通过【git init】初始化的仓库push 到github仓库中。这里就不演示了,接下来从刚才新建的 netty demo克隆到本地
从图中可以看到,远程仓库一成功克隆到本地,接下来进行简单的操作。
四、简单操作
关于操作围绕以下几个实用性问题来描述,怎么把文件推到仓库?怎么查看推送日志?怎么撤销操作?怎么进行版本恢复?
相关命令:
(1)【git add filename】 把文件添加到暂存区
(2)【git commit -m "提交注释"】把文件提交到仓库
(3)【git status】查看文件状态,主要列出修改过的文件
(4)【git diff】查看已暂存和未暂存的更新
(5)【git log (git log --pretty=oneline)】查看修改的历史记录
新建一个test文本文件,内容为 first line,将其推到本地仓库中
这里只是推送到了本地仓库,并没有同步到远程仓库,可以使用【git -u origin master】命令同步
查看之前操作历史记录,前面是版本号,后面是提交是的注释信息
(6)【git checkout -- <file>】抛弃对文件的修改
版本恢复,也可称撤销操作。在我们使用【git status】时,就有撤销相关的命令提示,如下,我修改test.txt新增一行,保存到暂存区后查看文件的状态
【git checkout -- test.txt】
(7)【git reset --hard 版本号】回退到指定的版本号
当重复添加到暂存区,但不想commit到仓库时可以使用【git reset HEAD <file>】移除暂存区
使用【git reflog】查看版本直接恢复即可
【git reset HEAD README.md】从暂存区移除 README.md
【git reset --hard 3b340b6】回退到初始提交的版本
【git reset --hard HEAD~100】版本太多可以使用此命令回退到指定版本,如前第100个版本
(8)【rm test.txt】删除文件
直接使用 rm <file> 命令删除,然后使用git rm <file> 最后提交更新到仓库,这样就从仓库中删除了
资料:
Git版本控制软件结合GitHub从入门到精通常用命令学习手册:http://www.ihref.com/read-16369.html
git-入门的更多相关文章
- git入门网站
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 git入门教程:对商业的.开源的. ...
- git入门及上传项目到github
Git入门: 如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),我们此时应该有两个仓库,就是两个放代码 ...
- Git入门仅这篇就够了
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/5978937.html 前言 大家好,我是Cavalier ...
- git入门学习(二):新建分支/上传代码/删除分支
一.git新建分支,上传代码到新的不同分支 我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有we ...
- git入门学习(一):github for windows上传本地项目到github
Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法.Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单. 一.首先在g ...
- Git入门简介
1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本 ...
- [置顶] 【Git入门之十五】Github操作指南
原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12374633 最终篇,介绍一下Github网站的使用,主要是翻译为主,简化了 ...
- Git入门—创建项目
Git入门—创建项目 注:win10系统下 打开Git Bash,进入存放仓库的目录 创建 初始化git init,该命令执行完后会在当前目录生成一个 .git 目录. 所有 Git 需要的数据和资源 ...
- git 入门教程
git 入门教程之协同开发 前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协 ...
- 廖雪峰Git入门教程
廖雪峰Git入门教程 2018-05-24 23:05:11 0 0 0 https://www.liaoxuefeng.com/wiki/00137395163059296 ...
随机推荐
- [DeviceOne开发]-do_LinearLayout组件使用技巧
一.摘要 今天跟大家主要来介绍一下DeviceOne中的do_linearlayout这个布局,在DeviceOne开发中,do_linearlayout这个布局是相当重要. 现在给大家来总结一下. ...
- What is Away3D
做了几个基于Flash平台的3D的项目,一路走来收获颇多.Away3D作为一个开源的Flash3D引擎,在3D页游领域,无疑是当前OGRE在国内的地位. 翻译出了多年前做Away3D中国社区的时候翻译 ...
- CSharpGL(21)用鼠标拾取、拖拽VBO图元内的点、线或本身
CSharpGL(21)用鼠标拾取.拖拽VBO图元内的点.线或本身 效果图 以最常见的三角形网格(用GL_TRIANGLES方式进行渲染)为例. 在拾取模式为GeometryType.Point时,你 ...
- 【MSP是什么】MSP认证之成功的项目群管理
同项目管理相比,项目群管理是为了实现项目群的战略目标与利益,而对一组项目进行的统一协调管理. 项目群管理 项目群管理是以项目管理为核心.单个项目上进行日常性的项目管理,项目群管理是对多个项目进行的总体 ...
- WCF学习之旅—WCF服务的WAS寄宿(十二)
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...
- JavaScript高级编程 (2) - HTML 与 JavaScript
向HTML 页面中插入JavaScript 的主要方法,就是使用<script>元素.这个元素由Netscape 创造并在Netscape Navigator 2 中首先实现.后来,这个元 ...
- PHP_环境配置_python脚本_2017
Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...
- HTML5 学习总结(四)——canvas绘图、WebGL、SVG
一.Canvas canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术.<canvas> 标记和 ...
- c#编程基础之枚举
枚举的意义就在于限制变量取值范围. 当可以确定的几种取值时才可以用. 如果输入一个字符串需要进行判断是否是我们需要的字符串时,则一般需要这样写: using System; using System. ...
- 12.JAVA之GUI编程打开与保存文件
功能:java图形用户界面开发,练习打开保存文件 代码如下: import java.awt.FileDialog; import java.awt.Frame; import java.awt.Me ...