git版本管理工具使用

一丶Git的下载与安装

1.windows下的git的下载与安装

git下载地址 git的官方网站

下载之后,点击直接默认安装即可.

在git文件夹中可以看到2个exe程序

1.git-bash.exe

2.git-cmd.exe

这两个exe程序第一个跟最后一个都是一样的.代表我们要用git命令去操作.命令行模式.

git文件夹下的 cmd文件夹 下有一个 git-gui.exe这个程序是git的 窗口管理界面.

2.linux下的git安装

linux下先使用 git命令查看是安装了git. 如果输没有安装,他会提示你用什么命令进行安装.

如果没有提示,那么你可以输入以下命令进行安装

sudo apt-get install git 老一点的系统使用下一条

sudo apt-get install git-core

二丶常用命令

在介绍git之前.我们先熟悉下命令行操作.

cd 命令: 进入目录 例子: cd e:\a 也可以 cd ../ 一个是进入a目录,一个是返回跟目录

mkdir a 创建一个文件夹

ls -a 显示当前目录下的所有文件跟文件夹.包括隐藏的

ll 显示当前所有文件

pwd pwd显示当前目录

三丶Git仓库

1.配置仓库信息

我们首先第一步就是配置以下信息.因为git协作处理.每个人都要有自己的身份信息才可以.

两个命令搞定

git config --global user.name "Your name"

git config --global user.email "Your email"

名字跟email我们可以随便给.但是注意,最好是规范的.就是说真正的.因为自己测试可以随便给.但是真正开发.不可能随便的.

2.仓库的创建于管理

2.1仓库的创建

git init 用于创建并初始化一个仓库.是一个空的仓库.在自己目录下生成了一个隐藏的.git文件夹.不要随便改.改了就出问题了.

2.2添加文件到缓存区

git add 文件名 / git add -A 一个是单个文件上传,一个是提交所有文件,关于git add可以看下说明

2.3.将缓存数据提交到仓库

使用git add 添加的文件,并没有放到最终版本库.我们需要使用一个命令,放到最终版本库才可以.

git commit -m "注释" / git commit 建议使用第一种方法.第一种可以给注释,表示你修改了什么

3.版本回退

讲解版本回退之前,我们要熟悉一个命令.因为实际开发中,你修改的文件很多.不可能都一一记住.所以使用命令可以更好的查看.

git log / git log --pretty=oneline 第一种显示的全一点,第二种省略了不必要的信息

git status 查看当前缓存区的状态(是否有文件,是否更改了...)

git reset --hard HEAD^ 版本回退,使用 git reset指令.

或者我们使用git log 看一下自己版本库中的 "ID" 可以利用ID返回

git reset --hard xxxx 没必要写全.写上几个,键盘按TAB键则会自动补全.

git reflog 可以看到你每一次执行过的命令,如果回退后,后悔了.可以使用这个命令看一下你的回退之前的ID.重新使用git reset --hard 回退一下即可.

4.查看版本库与当前工作区文件

如果我们当前工作区文件修改了,使用add 添加到了暂存区域,此时我们在修改工作区的内容.然后使用commit提交的时候,提交的是我们暂存区的文件. 我们可以使用命令查看一下.当前版本库,与工作区域的文件不同.

git diff HEAD -- 你的文件

5.工作区撤销修改

有的时候我们的工作区修改了,也add 到了缓存区域了,此时没有进行提交到版本库.但是出现了一个问题.我们不能提交.因为我写的错误的.此时怎么办.

git checkout -- 文件名 这个命令可以让你在工作区修改的任何文件都退回到跟你当前版本库一模一样的状态.

这个命令主要用于两个场合

1.工作区文件修改了.还没有提交到暂存区.此时使用命令则会恢复到跟当前版本库一摸一样的状态.

2.工作区文件修改了.提交到了暂存区.但是你又修改了.使用命令后可以恢复到暂存区的状态.

git reset HEAD 命令. 上面说了有两种情况,第一种还好.直接恢复了,但是第二种只是恢复了以前提交的暂存区的.我们这个命令就是将我们添加到暂存区的文件.重新放到工作区.也就是 反向add命令了.

6.删除文件以及恢复文件

有时候我们需要删除文件,我们可以使用下面的命令

git rm 文件名 删除一个文件,此时是删除了,但是你需要提交到最终版本库才是真正的删除

git checkout -- 文件名 如果上面提交之后,发现文件删错了.我们可以使用这行命令还原.上面说过了.

四丶远程仓库

1.了解git跟Github的关系

git只是一个工具.和Github一点关系都没有.git在远程仓库上,可以创建自己的服务器,用于托管你的项目.只不过对于我们来讲,学习的话有点小题大做了.所以我们使用一个神奇的托管平台 Github.

我们使用别的也是可以的.

1.本地创建SSH key

使用github之前,我们先创建一个SSH key 用于连接github,一会在配置github

命令: ssh-keygen -t rsa -C "youemail) 注意,这里的email必须是你注册github的email

使用之后,会提示你设置密码,由于我们也不是用于私密的不可告人的秘密,所以不需要设置,一路回车即可.

使用之后会在用户的主目录下创建两个文件, 用户的主目录就是 adminstart下.

如果不想找,你可以下个 Everything搜索工具.可以快速搜索文件.

用户的主目录下会有一个.ssh文件夹. 里面有两个文件

id_rsa 和 id_rsa.pub两个文件. 第一个是rsa私钥,第二个是rsa公钥. 我们第一个不能泄露

第二个,一会用于配置github使用.

2.github设置

此时我们需要设置一下github.很简单.

打开设置 -> SSH - >创建新的SSH -> 填入你的公钥





为什么要有SSH,因为git在操作远程仓库的时候,要确认是否是你提交的.所以使用了SSH.因为支持SSH协议.这样你就可以推送你的代码到远程仓库了.可以有多个SSH.这样的话你公司一台电脑推送,家里一台电脑推送.

3.远程git仓库的创建

我们要在github上创建一个仓库.这样我们下面就可以把我们的本地的仓库推送到这个仓库上管理了.



首先点击新存储,或者启动项目都可以.会弹出你创建启动库的项目.



填写你的存储库名称以及说明,点击创建即可.



创建完毕之后,它会告诉你如何使用本地仓库推送到远程仓库. 远程仓库我们已经创建好了.

4.本地仓库关联远程仓库.

我们有了远程仓库. 也有本地仓库了.此时我们需要关联一下.如果关联成功了.我们就可以将本地仓库提交到远程仓库保存了.

上面截图告诉了我们如何使用远程仓库.最主要的两个命令

1.关联本地仓库跟远程仓库

git remote add origin https://github.com/你的github账号/远程仓库名称.git

2.提交本地仓库到远程仓库

git push -u origin master

提交就使用push命令即可.

git push -u origin mastr的意思就是把本地 mastr分支,提交到远程仓库并关联.

当远程仓库是空的时候使用这个命令,如果关联之后 直接使用 git push 操作就可以了.

5.克隆仓库

克隆仓库其实意思就是从仓库中下载文件到本地,去操作.克隆之前,我们需要知道git仓库的地址才可以.

命令

git clone git仓库地址

git 仓库地址



复制一下即可.

五丶分支管理

什么是分支?

我们以前编写的代码,都是在一个分支中,也就是主分支,可以理解为是一个主文件夹.但是现在我们有需求了.

需要一个新的功能,你去实现.但是不能影响原有功能.此时你可能新创建一个文件夹.用来编写你的代码.当出问题了.

我的主分支没有动.可以还原回去.这样就可以了.如果没有问题,那么我们就可以合并分支了.也就是代码合并了.

放到主分支去.

1.创建分支

git checkout -b 分支名称

上面的命令就是我们创建一个分支,并且把指针指向我们创建的分支.这样指针指向我们创建的分支之后.我们才可以使用 git的 add commit等命令.此时提交后,就会提交到我们创建之后的分支中.

上面的代码其实是两行,等价于下面两行代码

git branch 分支名称   使用branch创建一个分支
git checkout 分支名称 使用checkout 切换指针,指向当前分支.
git branch 直接输入名命令可以看到当前分支. 如果前边有 *号,代表我们指向了那个分支.

2.合并分支

我们代码经过测试没问题之后,就可以把我们的分支,和主分支合并,形成最终版本.

git checkout master 切换分支到master
git merge 分支

git merge 的意思就是,合并指定的分支,到当前分支.我们的当前分支已经使用 checkout切换了,所以现在就是 分支合并到 master上面.我们可以放心的删除我们的子分支了.

3.删除分支.

git branch -d 分支

使用参数 -d 可以删除分支.

4.命令总结小知识

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

六丶标签管理

1.标签命令

标签很简单,就是给我们最终的版本加上一个版本号.主要使用命令 tag

git tag [name] 创建一个版本号.
git tag -d 标签 删除一个标签.
git push origin 标签名 给远程仓库打标签.
git push origin --tags 一次提交全部标签到远程仓库.
git push origin :refs/tags/标签名 删除远程仓库标签. 本地使用-d参数即可.

2.标签命令总结

命令git push origin <tagname>可以推送一个本地标签;

命令git push origin --tags可以推送全部未推送过的本地标签;

命令git tag -d <tagname>可以删除一个本地标签;

命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

git版本控制工具的使用的更多相关文章

  1. Git版本控制工具(三)----远程仓库GitHub的使用

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. git版本控制工具(二)----本地版本库的常用操作

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  3. Git版本控制工具(一)----git的安装及创建版本库

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  4. Git 版本控制工具(学习笔记)

    GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core  之后回车输入密码,即可完 ...

  5. 使用Git版本控制工具管理GitHub

      使用Git版本控制工具管理GitHu Git是一个分步式的管理系统:只要上传操作得当,所有的都可以相当于是中央服务器,成员代码共享,A写的代码B也有,一般把一个人当做主机,其他人通过该主机拼装代码 ...

  6. Git版本控制工具学习

    Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...

  7. Git 版本控制工具使用介绍------Windows系统下使用

    Git 是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什 ...

  8. git版本控制工具基本用法讲解(转)

    一.安装Git 在linux系统使用非常方便,只需要打开shell界面,并输入: ? 1 sudo apt-get install git-core 按下回车后输入密码,即可完成Git的安装.但我们可 ...

  9. Git版本控制工具(1)

    学习Git的最佳资料网站: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ 这 ...

  10. 再次学习Git版本控制工具

    Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP程序员雷雪松带你一起详细 ...

随机推荐

  1. linux centos环境下,perl使用DBD::Oracle遇到报错Can't locate DBD/Oracle.pm in @INC 的解决办法

    前言 接手前辈的项目,没有接触.安装.使用过perl和DBD::Oracle,也没有相关的文档记录,茫茫然不知所措~~.一开始发现这个问题,就想着迅速解决,就直接在google上搜报错信息,搜索的过程 ...

  2. Layui下拉框改变时触发事件

    layui.use(['form', 'layer'], function () { var form = layui.form(); var layer = layui.layer; form.on ...

  3. docker pull 镜像报错

    [root@localhost ~]# docker pull ningx Using default tag: latest Trying to pull repository docker.io/ ...

  4. 重写Object类里equals方法

    package com.fff; public class Pet { private String name; private int age; public Pet(String nume,int ...

  5. The SQL Server instance returned an invalid or unsupported protocol version during login negotiatio

    在使用.net core 连接sqlserver的时候遇到了这个问题 从字面意思理解大致是个什么版本不支持, 谷歌一下吧,ok,看到这个2000我就知道什么问题了 我的数据库还是2000的,总算把20 ...

  6. jieba库与好玩的词云的学习与应用实现

    经过了一些学习与一些十分有意义的锻(zhe)炼(mo),我决定尝试一手新接触的python第三方库 ——jieba库! 这是一个极其优秀且强大的第三方库,可以对一个文本文件的所有内容进行识别,分词,甚 ...

  7. 1.Git安装

    1.安装 首先下载安装包https://git-scm.com/downloads/ 双击安装任意盘符,双击之后一路Next,当然也可以修改默认配置 安装结束!

  8. vue项目开发基本目录结构

    § 目录结构 . ├── build/ # Webpack 配置目录 ├── dist/ # build 生成的生产环境下的项目 ├── src/ # 源码目录(开发都在这里进行) │ ├── ass ...

  9. c++ 读取不了hdf5文件中的字符串

    问题描述: 在拿到一个hdf5文件,想用c++去读取文件中的字符串,但是会报错:read failed ps: c++读取hdf5的字符串方法见:https://support.hdfgroup.or ...

  10. threejs立方体贴图产生边缘锯齿问题

    threejs立方体贴图产生边缘锯齿问题 立方体贴图边缘锯齿 解决后 经过试验测试发现, textureGrass.wrapS和 textureGrass.wrapT属性导致的. 解决方法1: 删掉t ...