git与github的一点总结(二)

继续上篇文章的本地git使用流程

4、跟踪一个文件之后,git就可以记录它的每次变动(即版本),然后根据需要回退或前进到某个版本。对一个文件做出修改后,最重要的是及时提交此次修改,输入git commit 如图:

(注意每次提交前要先add。git commit后出现下图)

(这里经过了修改,因为git默认的编辑器是nano,个人感觉不好用,于是用git
config --global core.editor vim命令把默认编辑器改成了vim)

第一行是要为本次提交输入一个说明或标记之类的东西,以便别人review的时候快速知道你这次提交到底干了什么,我随便写了一个:

然后输入:wq退出,如下:

会显示本次提交的状态。

(1)如果嫌每次都要打开vim麻烦,可以直接把提交说明放在-m参数后面,如下:

(2)更进一步,如果还嫌每次修改都要add麻烦,可以添加-a参数,如下:

这个参数会把从上次提交到现在之间所有的修改一次性全部提交,而且不必再add。

(3)如果上次的提交信息写错了,那么 --amend参数给你一个改错的机会:

(原来的提交信息是fourth)

(输入git commit --amend后会打开vim,我把信息修改成fourth_new,保存退出)

(新的提交信息就成了fourth_new)

注意,这只能修改提交信息,不能修改提交内容本身。

5、查看提交历史,使用git log命令可以查看所有的历史提交,它使用less命令的方式列出所有的提交说明等信息,如下图:

可以看到显示的顺序是倒序的,从最近一次提交开始,越往下的提交越”旧“。如果只想查看最近n次提交,而不是全部,可以像下面那样添加一个参数:

(只列出了最近两次提交信息)

仅仅git log列出的信息还是图样图森破的,想要进一步查看详细信息,可以使用-p选项,如下:

另外还有一个--stat选项,用来统计一些信息,主要是其中添加和移除的行数,并在最后列出所有增减行

数小计:

git log还有很多选项,它们的妙用自己慢慢研究吧。。

6、回退版本:git reset命令。这是非常重要的一个命令,对我来说,它就是我的git后悔药,后悔药啊亲~

(1)前面说过git checkout file命令的作用,即撤销本次对文件所做的修改,但这里有个前提,就是没有git add此次修改,否则git checkout是不起作用的,如下:

(如图,git checkout code.c没起作用)

要想让这个命令起作用,首先要撤销刚才的add命令,方法如status提示中给的那样:

然后checkout才起作用,换句话说,git checkout只能作用于那些未被跟踪的修改:

(2)想要让文件恢复到上次提交时的面目,如下图,我们看到了最近两次提交:

当下,code.c的样子就是fourth_new提交的样子,那么怎样让它变成third提交的样子呢?如下:

哈哈,成功!这里要注意的是,HEAD^,这里HEAD指的就是最新一次提交,加上一个^表示上次提交,两个表示上上次提交。。。那最多能加多少个呢?呃,我表示不清楚,不过加太多的话,你也数不清了对不?所以,如果想回退到某个非常靠前的版本,其实可以直接用commit后面长长的ID直接替换掉HEAD,如下:

(这是最近三次提交,下面演示直接退到second版本)

搞定~~不过由--hard你也看出这个方法很暴力,second之后的那几次提交全被抛弃了。。

时间: 2024-10-11 12:17:48

git与github的一点总结(二)的相关文章

git与github的一点总结(三)

终于来到远程管理这一块,好戏才刚开始啊-这里我们可以简单的把远程理解为github. 7.关联远程仓库 首先,你要注册一个github账号,然后新建一个仓库,so easy我就不多说了.下面的问题围绕如何让本地的这个仓库和github上新建的那个仓库联系起来,以便轻松的推送和拉取. 接着,你要看个链接:https://help.github.com/articles/generating-ssh-keys/    标题很容易懂对不?照做就是了. 下面这一步是关键,它把本地仓库和远程仓库连接起来:

git与github的一点总结(一)

先介绍一下本地的git使用流程吧(linux系统环境) 1.切换到你存放代码的文件夹下,执行git init,这样git就接管了当前文件夹下的代码版本管理事项,使用ls -a命令会发现当前目录下出现了一个.git的隐藏目录,这就是git进行管理的大本营. 2.初步配置git.主要就是以下两个命令 git config --global user.name "xxxx" git config --global user.email "xxxx" 3.这时就可以恣(xi

Git与GitHub入门基础(二)

上节回顾 初始化一个Git仓库用 git init 命令. 将文件添加到Git仓库中主要有两个步骤:    第一步,使用命令 git add <file>: 注意:使用 git add . 命令可以将全部文件同时添加到Git仓库缓存区.    第二步,使用命令 git commit -m "message" 将Git仓库缓存区文件存放到Git仓库. 这样,就完成了将文件存放到Git仓库的基本流程. ============我===是===分===割===线=========

Git和Github简单教程(转)

这篇文章只挑一部分命令来讲,差不多够用就行的程度.如果需要其他命令,到时候再去其他地方了解就行了先在Github上写好再搬过来的:本文Github链接 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六.Github的其他介绍 七.一些可能碰到的问题 零.Git是什么 我才不告诉你嘞 一.Git的主要功能:版本控制 版本:想想你平时用的软件,在软件升级之后,你用的就是新版本的软件

Git和Github简单教程

网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上.这篇文章主要的目标是用较少的时间学习Git和GitHub的基本使用.在足够一般使用的前提下,尽量减少命令.如果需要其他命令,到时候再去其他地方了解就行了. 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六.团队合作开发 七.Git

git与github使用

Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六.团队合作开发 七.Github的其他介绍 八.一些可能碰到的问题 零.Git是什么 我才不告诉你嘞 一.Git的主要功能:版本控制 版本:想想你平时用的软件,在软件升级之后,你用的就是新版本的软件.你应该见过这样的版本号:v2.0 或者1511(表示发布时为15年11月),如下图:那么如果你修改并保

gitLab的使用 和 git 、 github、gitlab的区别

一.git . github.gitlab的区别  (百度相关内容得到的理解) ? ? 二.git最基本作用:版本控制 ? 三.有集成了git的GIT安装包 github和gitlab都使用git该版本控制系统,来实现对代码的管理. 所以,原先怎么用git操作github的,那么用git操作gitlab是一样的. ? ?? https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git 三. 个人问了公司开发,并总

git 与github的使用

一.使用说明 1.Git与github的功能: Git是世界上最先进的分布式版本控制系统,也就是用来记录你的项目代码历史变更信息的工具:github就是用来存储你的代码以及变更信息的云端平台: 2.优点: 先进并且免费: 3.缺点: Github属于国外站点,国内上传速度较慢. 二.开发步骤说明 1.安装 去https://git-for-windows.github.io/ 下载git, 然后一直点击next安装. 2.配置git用户名与邮箱 在开始菜单里打开Git Bash,然后输入: gi

Android Studio中Git和GitHub使用详解

一.Git和GitHub简述 1.Git 分布式版本控制系统,最先使用于Linux社区,是一个开源免费的版本控制系统,功能类似于SVN和CVS.Git与其他版本管理工具最大的区别点和优点就是分布式: git是采用分布式版本库机制,不需要每次都将文件推送到版本控制服务器,每个开发人员都可以从服务器中克隆一份完整的版本库到本地,不用完全依赖于版本控制服务器.[优点:1.代码的发布和合并更加便捷:2.可以离线进行文件提交.创建分支以及查看历史版本信息等操作] Git在文件保存形式上也优于其他的版本控制