【重学Git】高级命令篇】的更多相关文章

众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强大工具.使用Git时常用的命令有pull.commit.push等,貌似很简单.不过,有时你会遇到合并冲突的情况,Git这时会将冲突标记出来,需要你手工来解决.有时,你会不小心将代码提交到错误的分支上,并且又推送到了远程仓库.还有些时候,你需要切换到不同的分支,但Git却不让你这么做,因为还有未保存…
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强大工具.使用Git时常用的命令有pull.commit.push等,貌似很简单.不过,有时你会遇到合并冲突的情况,Git这时会将冲突标记出来,需要你手工来解决.有时,你会不小心将代码提交到错误的分支上,并且又推送到了远程仓库.还有些时候,你需要切换到不同的分支,但Git却不让你这么做,因为还有未保存…
转自:http://www.linuxidc.com/Linux/2016-01/128024.htm 众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强大工具.使用Git时常用的命令有pull.commit.push等,貌似很简单.不过,有时你会遇到合并冲突的情况,Git这时会将冲突标记出来,需要你手工来解决.有时,你会不小心将代码提交到错误的分…
Git 是一款开源优秀的版本管理工具,它最初由 Linus Torvalds 等人开发,用于管理 Linux Kernel 的版本研发.相关的书籍和教程网上琳琅满目,它们多数都详细的介绍其基本的使用和命令.本人根据自己的经验,整理出几个较为高级而常用的命令. 推荐资料 Git Book. Git blame Git blame 可以查询每一行代码的 commit ID.提交者和提交日期. $ git blame nova/api/openstack/compute/servers.py 5b86…
笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 二:git stash 作用: 将工作区的文件修改的内容暂存到栈中(前提是修改文件已被add到暂存区中) 使用前提: 使用g…
一.最最最基础操作 # 初始化仓库 git init # 添加文件到暂存区 git add readme.md # 提交 git commit -m 'wrote a readme file' 二.简单的时空穿梭 1. 文件修改后,查看状态 修改 readme.md 文件,查看状态 git status 命令告知,已经对文件修改但仍未提交暂存区,下一步运用 git diff readme.md 对文件状态进行比较,比较结果显示新的文件比旧的文件新增两行 git add readme.md 后,提…
1.分离HEAD.HEAD 总是指向当前分支上最近一次提交记录. 所谓分离HEAD,就是让HEAD直接指向某一条具体的提交记录,而不是默认的通过分支名指向当前分支的最近一条提交记录. 2.相对引用^.如 git checkout HEAD^ 表示移动到当前HEAD指向提交节点的父节点. 3.相对引用~.如 git checkout HEAD~3 表示移动到当前HEAD指向提交节点的上三个祖先节点. (以上三个指令都是让HEAD的指向跳来跳去,那这有什么用呢?有的,它最大的作用在于移动分支,也就是…
1.git commit :在提交树中增加一个提交节点,注意:分支是指向提交节点的. 2.git branch newImage : 表示创建一个名为newImage的分支. 3.git checkout newImage : 表示切换到newImage分支.*星号表示当前所在的分支. 4.git checkout -b bugFix :这是一个简写命令,表示新建一个bugFix分支并切换到bugFix分支. 5.git merge bugFix :表示将bugFix的分支合并到当前分支,这时候…
前言 常言道,好记性不如烂笔头,更何况笔者的记性也不是太好,于是就有了这篇“烂笔头”系列之一的git命令记录.本篇主要记录了笔者在工作当中使用过的相关命令,以方便平时查看,同时也供同行们参考.当然,读者可能认为,碰到问题的时候,再百度便是,何必费这个功夫去记录呢.尽管如此,笔者仍然认为,有一套自己的班底,才更得心应手! 本文主要从初始使用git.git管理本地分支.git操作远程分支.git便捷使用等方面,对命令进行了归类.主要内容如下(持续补充ing): 一.git相比svn的优势 git是我…
git bisect 运行git bisect 通常是为了找出某个导致版本库产生倒退或bug的特殊提交 例如:你的版本库已经从一个已知的"好"状态过渡到一个已知的"坏"状态,但是是什么时候的呢? 是哪个提交导致崩溃的?使用git bisect可以帮你解决问题的答案 git blame 此命令可以告诉你一个文件中每一行最后是谁修改的 和那次提交做出了变更 出自 [git版本控制管理 ]作者Jon loeliger, Mattbew McCullougb 著…
1. 输出最后一次提交的改变 这个命令,我经常使用它 来发送其他没有使用 git 的人来检查或者集成所修改的.它会输出最近提交的修改内容到一个 zip 文件中. git archive -o ../updated.zip HEAD $(git diff --name-only HEAD^) 2. 输出两个提交间的改变 类似的,如果你需要输出某两个提交间的改变时,你可以使用这个. git archive -o ../latest.zip NEW_COMMIT_ID_HERE $(git diff…
笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 九:git commit --amend 简称:版本替换(对文件进行替换,添加的操作),即替换本地仓库的commit id,…
笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 七:git diff 作用:比较各个分区共同文件的不同(即想要使用该命令,各个分区都要有相同的文件) (1) 展示工作区和暂…
笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 六:git tag (1) 查看标签 git tag (2) 展示当前分支的最近的 tag git describe --t…
笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 五:分支操作 创建分支 (1) 场景一 本地和远程分支都存在(关联分支) git branch --set-upstream…
git reflog 显示所有branch的commit,包括commit和reset,以及已删除的commit.而git log只显示当前branch的commit,不包括已删除的commit git cherry-pick 将一个commit应用到当前branch上,commit可以是其他branch的 git rebase 压缩多个commit为一个commit 将branch1的commit转移到branch2,branch1的commit记录被删除…
笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 四:多人合作 多人合作的工作流程: 说明: (1) master(当前版本)分支是主分支,因此本地要时刻与远程同步: (2)…
笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载   十:版本回退 (1) 场景一  撤销工作区文件的修改(即没有git add到暂存区) 方法一: git checkout…
笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 三:git cherry-pick与git merge 前言: git cherry-pick不能合并其它分支上git me…
有时候我们在本分支做了一个很小的更改提交,其他分支想直接拿到这个更改提交,有没有一种不像merge或rebase这么正式的做法呢?也就是说:我仅仅是想获取其中一个小改变而已.cherry-pick就是这样一个不错的命令. 说一种我认为合适的使用场景:假设我在dev分支开发一个新功能,涉及到不少的修改.突然,产品说把某某页面的样式调一下.我在dev分支上改好了这个样式,但是我的新功能还没开发完.这时候,我就切到master分支,用cherry-pick的方法把dev上那个样式的提交记录给复制过来.…
看日记学git linux 命令行 cd ls / ls -a clear mkdir rmdir echo "hi, good day" > hi.txt touch hello.txt //创建文件 cat hi.txt //打印文件内容 cat -n hi.txt 带行号打印 rm hello.txt //删除文件 vim hi.txt //vim编辑hi.txt 同 vi hi.txt help tar // tar --help 解压 tar -xvzf mypro.t…
前文: Git有三种状态,你的文件可能处于其中之一:已提交(committed),已修改(modiffied)和已暂存(staged) 三个工作区域概念:Git仓库.工作目录以及暂存区 Git保存信息的方式是以快照的形式保存的.在进行提交操作时,Git 会保存一个提交对象(commit object).该提交对象会包含一个指向暂存内容快照的指针.该提交对象还包含了作者的姓名和邮箱(配置用户信息时候记录的).提交时输入的信息以及指向它的父对象的指针.首次提交产生的提交对象没有父对象,普通提交操作产…
前言:最近整理了一下自己之前的自学代码,包括一些练习的项目.发现有些杂乱,故想使用Gitte(码云)管理.加上不少公司使用Git,所以写了这篇文章记录. 如果我们本地有了项目,那么如何上传到码云上呢? 一:安装Git客户端 可以进入官网下载:https://git-scm.com/download/win 下载后,一路傻瓜是安装即可.安装完成后,命令行输入git,出现如下图及安装成功:  同时可以使用鼠标右键点击桌面,查看到有 Git Bash Here这个选项. 二:码云新建仓库 进入码云官网…
目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在commit操作之前,我们通常要确定一下自己在什么地方更改了代码,看看有没有误操作代码,这个时候git status命令的显示就比较简单了,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,就可以使用git diff命令. 比较有用的选项:--stat:显示有多少行发生变化,简洁的展示差异. 2.比较…
最近想开发一个小工具,需要用到3D,果断上OpenGL,借这个过程把OpenGL重学一遍. 工欲善其事,必先利其器,先把工具都搞好. [开发语言] 果断C+OpenGL,不解释. [开发环境] MinGW Developer Studio 官网下载链接:http://vaultec.mbnet.fi/mingwstudio.php 我下载的是带MinGW的包,没有下GCC的包,是怀疑不能debug(我没有验证过,仅仅是怀疑). 悲剧的是Avast报病毒(其实根本没有病毒,不知道最近这娃怎么了,老…
平时我们在使用git的时候,很少去关注其配置是如何,而在实际开发中,对git config这个命令的使用也并不是很多,但是配置对一个程序和项目来说都是很重要的,我们今天来看看git的配置以及git config的初步应用.     1. git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置.而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大家. 你们所知的git配置文件是放在哪里的?git有几个配置文件呢?…
常用命令 克隆 - git clone  git@gitee.com:niunafei1/git_learning.git git 创建分支 - git checkout -b dev git 切换分支 - git branch dev - git checkout dev git 分支删除 - git branch -d fix - 如果分支未被合并会异常警告 -D强制删除 - git branch -D fix 创建新分支推送远程 - git push --set-upstream orig…
目录 1.git log命令说明 2.git log命令参数 (1)不带参数 (2)常用显示参数 (3)--pretty参数 (4)--date=参数 (5)筛选参数 git log命令主要用于查看Git版本演变历史(也就是提交历史),同时根据追加的参数和选项不同,也会有不同的展示效果. 但默认git log命令显示出的x效果实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! 1.git log命令说明 git log用于查询版本的历史,命令形式如下: git…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言…
[Android开发学iOS系列] 工具篇: Xcode使用和快捷键 工欲善其事必先利其器. 编辑 Cmd + N: 新建文件 Option + Cmd + N: 新建文件夹 Cmd + / : 注释 Ctrl + I: format indentation, (但是使用这个快捷键要小心, 可能会在你的空行里加入不必要的首行缩进, 所以没事不要全选再format.) Ctrl + Cmd + Space → Emoji Opt + Cmd + , : 分割当前编辑窗口 Cmd + Shift +…