一、了解git
1.2、git是分布式版本控制系统,svn是集中式版本控制系统(必须要联网),具体区别[评论下面也很精彩]
二、安装配置git
2.1、下载安装:https://git-scm.com/downloads 一路默认next
2.2、安装完成以后打开Git Bash,弹窗命令行窗口。设置一下用户名和邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
 
三、创建版本库
3.1、在本地创建一个文件目录,注意:避免产生麻烦目录文件名不要有中文和特殊符号。我的在E:\gitRepository
3.2、在Git Bash中进入版本库目录,输入git init。创建版本库成功!
 
3.3、将文件添加到版本库
3.3.1、在本地创建一个文件newTxt【内容随意】,放到3.3中穿件的版本库中。
3.3.2、git add 文件名,告诉git我要将文件放到版本库里,其实是放到了上图的暂存区
3.3.3、git commit -m “你的说明”,将暂存区的文件提交到分支里,真正的放到了版本库
四、基础命令
 
4.1、查看当前版本库的状态------ git status
当前状态是修改了还没有做提交,没有git add 也没有git commit
 
4.2、查看修改了哪些内容----git diff 文件名
4.3、查看提交历史---git log
4.4、版本回退 --- git reset --hard HEAD^(HEAD当前版本,HEAD^上个版本,HEAD^^上上版本)
4.5、撤销修改
4.5.1、git checkout --文件名(①在工作区修改,文件还未add到暂存区,可撤销到修改前②已经add到暂存区,又做了修改,可以撤销到和暂存区一样)
4.5.2、已经add到暂存区的文件想要撤销到工作区
先 git reset HEAD 文件名【将暂存区的文件修改回退到工作区】再 git checkout --文件名【将工作区的文件修改撤销】
4.6、删除文件
4.6.1、工作区的文件删除了,版本库中的提交也要删除保持一致
先git rm 文件名 然后再git commit -m “说明”
 
 
4.6.2、工作区文件删除了,版本库中还有。工作区文件是误删的,这时候可以恢复工作区中的文件。
git checkout --文件名
五、远程仓库
5.1、创建ssh key。
在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
本地找不到的可以在用户主目录下打开git base 输入:$ ssh-keygen -t rsa -C "youremail@example.com"
 
5.2、将ssh公钥添加到github上
登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
 
GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
5.3、远程库与本地库创建连接
在本地的仓库下面运行:
git remote add origin git@github.com:github账户/远程库名.git
【要是创建的连接错了,有三种解决方法】
①修改命令:git remote origin set -url 【url】
②先删除再添加:git remote rm origin
git remote add origin 【url】
③直接找到本地库 .git/config 文件,文本编辑进行修改
5.4、将本地库内容推送到远程库上
git push -u origin master
5.5、克隆远程库
git clone git@github.com:远程库名/[xxx].git
六、分支管理
你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
6.1、查看当前分支---git brance
6.2、切换分支 ---git checkout 分支名
6.3、创建分支---git brance 分支名
6.4、创建+切换分支---git checkout -b 分支名 == git brance 分支名 和 git checkout 分支名
版本回退的时候HEAD指向每次提交,其实HEAD指向的是master
 
创建并且切换到新的分支---git checkout -b 分支名 例如: git checkout -b dev
加上-b是指创建并切换到新分支,相当于执行两条命令:git brance 分支名 和 git checkout 分支名
6.5、将当前分支合并到master---git merge 分支名
6.6、删除分支---git branch -d dev
 
 
 
 

git的基础操作-入门的更多相关文章

  1. Mac下Git的基础操作

    目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快 ...

  2. 『现学现忘』Git基础 — 13、Git的基础操作

    目录 1.Git最基础的使用方式 (1)初始化本地版本库 (2)查看文件的状态 (3)把文件添加到暂存区 (4)把暂存区的内容提交到本地版本库 2.总结本文用到的Git命令 1.Git最基础的使用方式 ...

  3. git 的 基础操作及使用

    /* git svn版本控制器 */ /*git把文件对应的储存空间分为三个区: 1.工作区 2.缓存区 3.历史区 直接操作文件,不做add时,咱们是在工作区做的修改 右键 git bash her ...

  4. git零基础快速入门实战,重点讲解,在实际生产中整合idea对版本、分支的管理等

    1.什么是版本管理 (多人协作)项目中常见的问题: 代码放在什么地方 ?? 同步(到服务器),代码的冲突问题 ?? 服务器访问权限问题 ?? (代码)服务器内容修改的细节 ?? 项目版本的发布 ?? ...

  5. git最基础操作一

    1. 从远端克隆:git clone -b 克隆的分支 git的地址( eg:git clone -b master https://gitee.com/test/test.git ) 2.提交修改的 ...

  6. 【课件】git零基础快速入门实战--重点讲解,在实际生产中整合idea对版本、分支的管理等

    1.git简单描述 git是重要的版本管理工具,几乎每个码农都有自己的git账号管理自己的代码,同时很多公司也是用git管理公司的代码, 因此掌握git在实际生产中的常规使用非常重要. 2.git学习 ...

  7. git内容补充-Git零基础快速入门-苏玲

    https://git-scm.com/book/zh/v2 git历史 集中式版本控制管理:cvs.svn 分布式版本控制管理:git 基本命令 git config --list --global ...

  8. Git基础操作

    配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...

  9. Python文件基础操作(IO入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...

随机推荐

  1. java之子类继承抽象类,子类构造器调用抽象类构造器问题

    package com.wtd; public abstract class Car { private String name= "car"; public Car(String ...

  2. 在Indicator中添加动态Checkbox,无需绑定数据源,支持全选 - Ehlib学习(二)

    先做设置 DBGrideh属性设置: IndicatorOptions = [gioShowRowIndicatorEh, //小三角指示 gioShowRecNoEh, //数据源行号 gioSho ...

  3. Hadoop1.1.2伪分布式安装

    一.安装前准备设置Linux的静态IP修改VirtualBox的虚拟网卡地址修改主机名把hostname和ip绑定关闭防火墙:service iptables stop二.SSH免密码登陆生成秘钥文件 ...

  4. 线程的同步之Synchronized在单例模式中的应用

    synchronized在单例模式中的使用 在单例模式中有一种懒汉式的单例,就是类初始化的时候不创建对象.等第一次获取的时候再创建对象.这种单例在单线程下是没有问题的获取的也都是同一个对象.但是如果放 ...

  5. java的代理(编程思想)

    代理 第三种关系被称为代理,java并没有提供对它的直接支持.这是继承和组合之间的中庸之道,因为我们将一个对象置于所要构造的类中(就像组合),但与此同时我们在新类中暴露了该成员对象的所有方法(就像继承 ...

  6. java 生成xml文件

    这里也使用的是import org.w3c.dom.Document; 首先创建document对象,给该对象赋值,然后将document对象使用transformer的transformer转换方法 ...

  7. Nginx的负载均衡和高可用

    一.Nginx的理解 Nginx是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理 ...

  8. Linux:自动获取静态IP地址,清空iptable,修改selinux脚本

    自动获取静态IP地址,清空iptable,修改selinux脚本 环境:VMware 平台:centos6.8全新 功能: 1)应用ifconfig -a,route -n,cat /etc/reso ...

  9. dir listing 目录文件列表索引

    一般而言,网站应用都有一个入口,比如说:index.php,index.html,app.js等.通过这个路口,以及相应的路由功能,去到网站各个功能版块. 而网站的目录结构,目录里面的文件列表,一般都 ...

  10. java定时器无法自动注入的问题解析(原来Spring定时器可以这样注入service)

    近些日子在做一个项目,在项目中需要用到spring的定时任务,但是在操作数据库的时候发现总是不能正确的进行数据的插入,经过查看才发现:是因为service层不能够通过普通的方法注入到action,所以 ...