大家好,今天和大家聊聊git当中一个非常好用的功能--区间选择,它可以帮我们处理看起来非常复杂的提交记录.从而帮助我们很快找到我们需要的内容. 如果大家有参与过多人协同的项目开发,比如十几个人甚至更多的成员的时候,会发现一些分支的记录非常的混乱,比如master.因为其中包含了太多的提交信息,比如各种分支的merge记录,以及线上bugfix等.这个时候使用区间选择就非常有必要,它会帮助我们过滤掉不需要的提交记录,快速找到我们想要的结果. 区间选择 关于区间选择我们之前在介绍rebase的时候曾…
git log 查看提交记录 1. git log 查看提交历史记录2. git log --oneline 或者 git log --pretty=oneline 以精简模式显示3. git log --graph 以图形模式显示4. git log --stat 显示文件更改列表5. git log --author= 'name' 显示某个作者的日志6. git log -p filepath 查看某个文件的详细修改7. git log -L start,end:filepath 查看某个…
git log 查看提交记录,参数:-n (n是一个正整数),查看最近n次的提交信息 $ git log -2 查看最近2次的提交历史记录 -- fileName fileName为任意文件名,查看指定文件的提交信息.(注:文件名应该放到参数的最后位置,通常在前面加上--并用空格隔开表示是文件.) $ git log file1 file2 查看file1文件file2文件的提交记录$ git log file/ 查看file文件夹下所有文件的提交记录 --branchName branchNa…
2.1 获取 Git 仓库 获取 Git 仓库通常有两种方式 将尚未进行版本控制的本地目录转换为 Git 仓库: 从其它服务器 克隆 一个已存在的 Git 仓库. 在已存在目录中初始化仓库 首先进入该项目目录,之后执行 $ git init 该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干. 如果此项目中已有文件,应该开始追踪这些文件并进行初始提交.通过 git add 命令来指定所需的文件来进行追踪,然后执行 gi…
微软在 Reference Source 里开放了 .Net Framework 多个版本的源码.为了更方便地阅读这些源码,我们把每一个版本都下载下来后按顺序提交到 git 仓库中. 但是!!!居然忘了在第一次提交之前放一个 .gitignore 文件!如果没有这个文件,那我们每次打开源码查看都会带来一大堆不明所以的修改文件.那么多的源码,绝对不会想重新挨个版本再提交一次.于是找到了一条可以解决这个问题的 git 命令. git filter-branch --index-filter "cp…
在SVN中,提交记录是无法修改的.比如说,当我们提交了某次修改后,发现该次提交中有错误时,只能将将补丁再次提交一遍.这样,就存在两次提交记录,没有保证提交的原子性. 在GIT中,由于提交是在本地进行的,因此如果没有发布之前,是允许使用reset命令来撤销提交记录的,这个命令有如下三种使用方式: git reset -soft: 只撤销commit,保留working tree和index file. git reset -mixed: 撤销commit和index file,保留working…
相关的命令: git log:查看所有的commit提交记录: git show: 查看提交的详情: 首先,需要通过git log打印所有commit记录,例如: 1.查看最新的commit:git show 2.查看指定commit的所有修改:git show commitId 3.查看某次commit中具体某个文件的修改:git show commitId fileName…
Git 忽略文件提交的方法 有三种方法可以实现忽略Git中不想提交的文件. 在Git项目中定义 .gitignore 文件 这种方式通过在项目的某个文件夹下定义  .gitignore 文件,在该文件中定义相应的忽略规则,来管理当前文件夹下的文件的Git提交行为. .gitignore 文件是可以提交到公有仓库中,这就为该项目下的所有开发者都共享一套定义好的忽略规则. 在  .gitingore  文件中,遵循相应的语法,在每一行指定一个忽略规则.如: *.log *.temp /vendor2…
有时候我们在本分支做了一个很小的更改提交,其他分支想直接拿到这个更改提交,有没有一种不像merge或rebase这么正式的做法呢?也就是说:我仅仅是想获取其中一个小改变而已.cherry-pick就是这样一个不错的命令. 说一种我认为合适的使用场景:假设我在dev分支开发一个新功能,涉及到不少的修改.突然,产品说把某某页面的样式调一下.我在dev分支上改好了这个样式,但是我的新功能还没开发完.这时候,我就切到master分支,用cherry-pick的方法把dev上那个样式的提交记录给复制过来.…
已提交暂存区但还未提交远端仓库 命令:git commit --amend -m 已提交远端仓库 命令:git rebase 可以参考:http://www.cnblogs.com/dudu/p/4705247.html…