一.Git常用命令

  Git中的很多命令与Linux相同(比如修改,查询,编辑,移动等),这里可以参考我之前的一篇文章https://www.cnblogs.com/ywb-articles/p/10535739.html

  其他一些命令例如:

    git branch  查看分支(后接一个名字就是创建一个分支),如果后接-d 可以删除分支

    git commit -amend -m  修改注释

    touch  创建文件

    git status  查看git的状态

    git rm --cached  退回上一步(一般是撤销add)

    git checkout -- 文件  撤销更改

    git checkout 分支名  切换分支

    git log  查看日志 (如果只需要查看最近3次的日志,可以后接 -3 )

    git log origin/master  查看远程项目日志(origin/master是追踪分支,可以看做为一个本地master与远程相关联的分支)

    git blame 文件  查看文件提交记录

    更多命令可以查看官方文档

二.Git的操作

  1.忽略文件

    如果需要忽略某些文件或文件夹,可以创建一个.gitignore文件(touch .gitignore),在文件中写入不需要提交的文件的名字即可(可以使用通配符*和非命令!)

  2.分支操作

    a.重命名分支git branch -m 之前的分支名  更新后的分支名

    b.如果两个分支不在同一点,一个分支中有修改,并add了,如果不commit,则无法切换分支(或者使用git stash保存现场后再切换)

    c.分支的删除是无法删除当前的分支的,只能切换到其他分支来删除

    d.如果删除某个分支时,该分支中有一些未合并的内容,会报错,如图所示

      

      解决方案:合并分支内容,然后再删除分支。(或者将-d改成-D,强制删除分支)

git merge 分支名 #合并分支内容

    e.分支合并冲突:

      如果多个分支在相同的地方做了修改,在合并的时候会发生冲突,一般手动修改解决分支冲突问题。

    f.版本穿梭

      例如回到上一个版本:

git reset --hard HEAD^  #如果想回退多个,则多加几个^

git reset --hard HEAD~1  #可以指定回退版本的次数

git reset --hard shal值  #可以跳到指定shal值的版本

      查看操作记录(可以看到所有操作记录,从而看到所有版本的shal值,结合git reset可以任意跳转版本,如果跳转到第一个版本,使用git log是看不到后面的版本信息,所以需要git reflog)

git reflog

    g.临时保存:

      一般一个功能或模块开发未完成是不应该commit的,那么可以使用stash保存现场

git stash save "保存的文件名字"

      如果需要恢复之前保存的内容,首先应找到stash文件:git stash list,再恢复现场

git stash pop  #默认找第一个,恢复后,stash会被删除。

git stash apply stash@{0} #恢复后指定现场,stash也不会删除。可以使用git stash drop来删除

      

三.Git图形工具

  Git常用的图形工具有GUI和gitk等(可以在网上找相应的教程,如:https://www.runoob.com/w3cnote/git-gui-window.html)

    GUI:git安装完毕后,鼠标右键除了Git Bash Here之外还有一个Git GUI Here,点击Git GUI Here即可打开GUI图形工具

    gitk:直接在Git Bash中输入gitk即可启动gitk图形工具

【版本控制工具】 Git进阶1的更多相关文章

  1. 版本控制工具——Git常用操作(上)

    本文由云+社区发表 作者:工程师小熊 摘要:用了很久的Git和svn,由于总是眼高手低,没能静下心来写这些程序员日常开发最常用的知识点.现在准备开一个专题,专门来总结一下版本控制工具,让我们从git开 ...

  2. 版本控制工具 - Git

    版本控制工具 - Git 安装完成后,打开Git Bash,这是一个命令行工具,用于操作仓库和仓库的文件.你可以通过命令将已经存在的项目变成仓库,也可以重新创建一个新项目再通过命令将其变成仓库,还可以 ...

  3. 痞子衡嵌入式:备受开源社区推崇的分布式版本控制工具(Git)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是分布式版本控制工具Git. 1.为什么需要版本控制系统? 单人软件项目开发过程,往往很多功能都是逐步增加的,在代码开发过程中,有的时候功 ...

  4. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  5. 版本控制工具Git工具快速入门-Windows篇

    版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...

  6. 开源分布式版本控制工具 —— Git 之旅

    Git 主张的分布式代码库与文件快照的设计思想,相对于传统 CVS.SVN 等集中式.文件差异式版本控制工具是一种挑战与颠覆.Git 带来了离线提交.轻量级分支等诸多便利.不过,也有人质疑 Git 的 ...

  7. 版本控制工具Git介绍-01

    使用版本控制工具是为了方便团队开发,比如多人共同维护一个项目的时候,用版本控制工具可以很方便的维护项目代码,如果哪天你改了一个版本,出问题了,我们也可以很快的找到你改了什么,这里介绍使用比较多的版本控 ...

  8. window下版本控制工具Git 客户端安装

    安装使用 1.下载msysgit http://code.google.com/p/msysgit/ 2.下载tortoisegit客户端安装 http://code.google.com/p/tor ...

  9. 版本控制工具git入门

    版本控制工具的历史 不说了,放张图 两者的区别:集中式需要一个中心服务器放置最新的文件,需要联网操作.分布式可以再不联网的情况下操作,前提要拥有版本库 git安装  略 github注册 略 如何在g ...

  10. [git更新中]版本控制工具git初步使用

    逐渐开始写规模稍大的程序, 如果在像以前一样每写完一次保存一个版本, 修改起来太蛋疼了, 而且还会忘记都有修改过哪里, 最终如果写完的话, 各种不方便, 于是便开始接触版本控制工具. 因为是在Linu ...

随机推荐

  1. GLSL语法入门

    变量 GLSL的变量命名方式与C语言类似.变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还有变量名不能以gl_作为前缀,这个是GLSL保留的前缀,用于GLSL的内部变量.当然还有一些 ...

  2. Linux的组成

    1.内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序. 2.Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行,是一个 ...

  3. 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_7 获取Servlet原生的API

    控制器里面获取常用的request对象或者Response对象. 想拿到谁, 就在参数上写上谁 再获取servletConetext并输出

  4. java+实现文件的上传和下载

    项目截图 路径配置 将localhost:8080/up6全部替换为实际项目路径 使用mysql文件夹下的脚本创建数据表. 创建后可以在数据库中看到创建好的数据表 2.修改数据库连接 3.修改上传地址 ...

  5. 了解XPath与XPath轴

    XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. 节点(Node) 在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理 ...

  6. Spring boot (一):入门篇

    Spring boot 简介 Build Anything with Spring Boot:Spring Boot is the starting point for building all Sp ...

  7. spring mvc 异步 DeferredResult

    当一个请求到达API接口,如果该API接口的return返回值是DeferredResult,在没有超时或者DeferredResult对象设置setResult时,接口不会返回,但是Servlet容 ...

  8. 使用URLOS 五分钟安装rTorrent (轻量级优秀BT/PT客户端)

    rTorrent是一个非常简洁.优秀.非常轻量的BT客户端,它使用ncurses库以C++编写,将 rTorrent 用在安装有 GNU Screen 和 Secure Shell 的低端系统上作为远 ...

  9. C#4.0中的协变和逆变

    原文地址 谈谈.Net中的协变和逆变 关于协变和逆变要从面向对象继承说起.继承关系是指子类和父类之间的关系:子类从父类继承所以子类的实例也就是父类的实例.比如说Animal是父类,Dog是从Anima ...

  10. JDBC基本操作

    前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提 ...