【git】git一些命令使用记录
目前git版本控制很多公司都在用,我把平时的使用做些记录,防止忘记。
1. 有时候分支比较多,我们会基于master建立一个新分支开发,有时候也会基于别的分支建立,但时间长了可能会忘记当前分支是基于哪个分支建的。
比如基于Kyhome这个分支建立kytest
然后我们可以这样查
git reflog --date=local | grep kytest
显示
2.显示所有提交过的版本信息
git log
如果想换个显示方式可以加上参数--pretty=oneline
git log --pretty=oneline
退出按q
3.撤销工作区某个文件修改
git checkout -- 文件路径
操作如下
然后修改的文件就被还原了。
如果想撤销暂存区的文件可以用git reset HEAD
这样这个文件又回到工作区了。
4.显示日志
- git log --pretty=oneline -3 最近3个commit
- git log --pretty=oneline --after="2018-02-08" 按日期可以使用--after或--before来按照日期筛选
- git log --pretty=oneline --author='xxx' 按作者
- git log -- ./new_src/app/Http/Routes/Frontend/Access.php 查看某个文件所有记录
- git log -p 显示所有文件每次提交的diff
- git log -p ./new_src/app/Http/Routes/Frontend/Access.php 查看某个文件修改历史
- git show 2b665a555e3cc8c5baebb35422d2e71b0516914b33a Access.php 查看某个文件最近变化内容
- git show eb88d15634c98aa9b6e160e9fc16883729d40a17 查看某次commit所有修改的内容
5.显示commit图
git log --graph
6.查看某行代码谁写的
git blame Access.php
7.查看配置信息
git config --list
8.git中有些文件是中文名 但是显示是不能正确显示成中文,通过以下命令修改。
git config --global core.quotepath false
之前
之后
9.比较工作区和暂存区的变动
git diff
git diff -- stat命令的功能是统计哪些文件发生了改变,有多少行产生了修改,不会给出改动的具体内容。
10.看出分支上的递交状况
git show-branch
11.显示本地和远程所有分支
git branch -va v参数显示分支最新修改注释
12.修改本地分支名
git branch -m old_feature new_feature
13.删除本地分支
git branch -D kytest_new
14.删除远端分支
git branch -d -r origin/kytest
15.删除远端分支刷新
git remote prune origin
16.查看远端分支
git branch -r
17.创建分支并切换
git checkout -b new_feature
git checkout -b 本地分支 origin/远端分支
18.对比两个分支内容情况
查看app_kyhome分支比master分支多提交哪些内容
git log app_kyhome ^master
19.对比两个分支文件变更的列表
git diff app_kyhome master --stat
20.对比两个分支具体文件变化情况
git diff app_kyhome master new_src/app/Http/Routes/Frontend/Access.php
21.对比显示两个分支详细变化情况
git diff app_kyhome master
22.把XX文件在工作区的修改全部撤销。
git checkout -- XX 文件路径
23.查看git命令信息
git命令那么多,有时候我们并不知道某些命令的用途,这时候可以查看命令帮助查看命令用途。
先查看命令列表
git help -a
然后我们想看具体的命令什么意思,比如init参数,可以用-h帮助
git init -h
24.显示HEAD提交日志
git show HEAD
25.显示上一个版本提交日志
git show HEAD^
^^为上两个版本。
26.显示某个分支昨天的情况
git show app_kyhome@{yesterday}
27.显示git index中的所有文件
git ls-files
28.git暂时储藏
有时候当我们在一个分支上想切换到另一个分支,可是这个分支有修改的文件没提交,如果此时切换分支,会报下面错误
这时候我们可以用git stash命令来暂时存储当前分支修改文件的状态。先看下面文件状态。
使用命令
这时候你就可以切换到别的分支了。
要查看现有的储藏,可以使用下面命令查看。
当想回到之前的分支继续开发,那么可以使用git stash apply,之前的修改文件就会又回来了。
还有种情况,就是想pull 最新代码, 但是当前有修改代码,提示当前分支会被merge,但又不想加commit。也可以用git stash
然后在
git stash pop
分支修改的代码就出现了。其实上面两个都是一个道理。
29.创建忽略文件
先设置全局全局忽略文件配置
git config --global core.excludesfile ~/.gitignore
然后在
touch .gitignore
这样将要忽略的文件写入该文件中,比如文件编辑器的.idea等
30.将本地分之推送到远端分支
git push origin 本地分之名:远端分之名
31.将远端分支拉取到本地(本地不存在这个分支)
git pull origin 本地分支:远端分支
32.查看本地分支和远程分支的关联关系
git branch -vv
33.关联本地分钟与远端分支
git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字
34.合并分支
git merge 分支名 将分支合并到当前分支
35.查看远端地址
git remote -v
36.丢弃所有修改
git checkout .
37.add添加文件内容到暂存区
git add 文件夹/ 添加整个目录及其内容
git add *.文件类型 添加目录中所有此文件类型的文件
注意:git add . 和 git add -u区别
1.git add . 会监控整个工作区的状态 ,使用它会把所有文件变化都提交到暂存区,不包括删除的文件。
2.git add -u :它仅监控已经被add的文件(tracked file),它会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。
git add -u 只能添加index.php 文件
git add . 新文件都可以提交
git add . 这个命令还有个主要的地方是需要在根目录执行,不能在子目录,不然有些其他目录更改的文件没法add。
38.展示本地分支和远端分支关联情况
git branch -vv
39. .gitkeep
这个文件是为了可以提交空的文件夹
40. git tag 创建标签
列出所有标签
git tag <feature_name> 给分支打标签
41.查看分支创建时间
git reflog show --date=iso 分支名
该命令会显示这个分支从创建到现在的commit信息,最下面一条就是分支最早记录,并显示时间
42.删除本地有但在远程库已经不存在的分支
git remote prune origin
43.git修改远程仓库地址
$ git remote -vv
origin git@172.16.XX.245:OA/ae.oa..cn.git (fetch)
origin git@172.16.XX.245:OA/ae.oa..cn.git (push) songgq@LP1457 MINGW64 ~/Desktop/opt/case/ae.oa..cn (master)
$ git remote set-url origin git@172.16.0.245:OA/ae..cn.git #修改拉取远端地址 songgq@LP1457 MINGW64 ~/Desktop/opt/case/ae.oa..cn (master)
$ git remote -vv
origin git@172.16.XX.245:OA/ae..cn.git (fetch)
origin git@172.16.XX.245:OA/ae..cn.git (push)
44.git远程仓库强制覆盖本地
git fetch --all && git reset --hard origin/master && git pull
45.保存之前分支历史
git merge --no-ff
46.设置换行符
git config --global core.autocrlf false
47.对比本地分支和master分支提交日志差异
1)查看本地分支有,而 master 中没有的
git log 本地分支名 ^master
2)查看master有,而本地分支中没有的
git log master ^本地分支名
48.查看已经合入当前分支的所有分支
git branch --merged
49.查看没有被合入当前分支的所有分支
git branch --no-merged
50.更新远程分支的本地列表
git remote update origin --prune
【git】git一些命令使用记录的更多相关文章
- 使用方便git命令检查记录的版本号
现在开始git大多数用户都经历过subversion,对于这两种开关的版本控制系统需要一段时间去适应.本文旨在帮助恢复一些,这些用户都熟悉的日志记录买家的习惯. 我们要熟悉一个详细的例子git中log ...
- Git的常用命令记录
Git的常用命令记录 1.与远程仓库建立连接,即关联一个远程库 git remote add origin git@server-name:path/repo-name.git; 2.查看当前分支 ...
- 速刷git<一> 常用命令记录
git config --list 列出配置 --local 对某个仓库有效 --global 对当前用户的所有仓库有效 --system 对系统所有登录用户有效git reset --ha ...
- windows中 git 命令使用记录
建议国内开发安装淘宝npm镜像cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 或者每次执行安装时 npm ins ...
- Git 命令操作记录
1.安装完git软件之后(win系统的) 1)配置用户名密码: 设置本地机器默认commit的昵称与Email. 请使用有意义的名字与email. git config --global user.n ...
- git log 常用命令及技巧
git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...
- Git的安装和使用记录
Git是目前世界上最先进的分布式版本控制系统(没有之一),只用过集中式版本控制工具的我,今天也要开始学习啦.廖雪峰的git教程我觉得很详细了,这里记录一下步骤以及我终于学会用Markdown了,真的是 ...
- git workflow常用命令
git init git status git add readme.txt git add --all Adds all new or modified files git comm ...
- git的一些命令
因为项目的原因,大家把项目托管到git上,然后我不会,队友就传了一个廖雪峰的git教程,讲的很详细,不会用git的同学,可以在http://pan.baidu.com/s/1pKizolP上下载,这是 ...
随机推荐
- c++ 单引号"字符串" 用法
__int64 flag; //赋值超过4字节,编译错误 //flag = 'ABCDE'; //低于4字节,高位补 0 //flag = 'BCDE'; flag = 'A' << 24 ...
- 测试工具之ab
ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. ab命令对发出负载的计算机要求很低,既不会占 ...
- SpringBoot 4.SpringBoot 整合 devtools 实现热部署
一.添加 devtools 依赖 <!-- Spring boot 热部署 : 此热部署会遇到 java.lang.ClassCastException 异常 --> <!-- op ...
- Struts2——namespace、action、以及path问题
简单的介绍下Struts2中的几个简单的问题(namespace.action.以及path问题) namespace(命名空间) Namespace决定了action的访问路径,默认为“”,意味着可 ...
- python数学第五天【常用概率分布】
1. 概率基本公式 思考题: 3. 两点分布 4. 二项分布 推论一: 5.柏松分布 6. 均匀分布 7. 指数分布 8. 正态分布 9.常见分布的总结
- 错误:org.apache.catalina.LifecycleException: Protocol handler start failed
org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connect ...
- 各个版本spring的jar包以及源码下载地址,目前最高版本到spring4.3.8,留存备用:
http://maven.springframework.org/release/org/springframework/spring/
- Microsoft Bot Framework with LUIS
今年微软的编程之美的主题是“对话即平台”,“人工智能”,要求参赛选手用到Bot Framework与Cognitive Services. 大多数人应该对这两个技术都不怎么熟悉吧,我就在这里写写自己所 ...
- Modeling Filters and Whitening Filters
Colored and White Process White Process White Process,又称为White Noise(白噪声),其中white来源于白光,寓意着PSD的平坦分布,w ...
- JarvisOJ Basic Base64?
GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI=== 题目非常具有迷惑性,我一开始以为就是一 ...