美文网首页
Git 指令小结及一些概念辨析

Git 指令小结及一些概念辨析

作者: 闲七小 | 来源:发表于2019-10-13 01:14 被阅读0次

mkdir learngit在当前文件夹创建一个名为 learngit 的文件夹

cd learngit进入到 learngit 文件夹中

pwd显示当前文件夹

git init对文件夹进行初始化,使之成为一个repository,并产生一个隐藏文件.git

git add <filename>可以将一个file装至stage中,修改了几个文件就要做几次add

git commit -m "注释"将目前的stage提交至库中,-m表示添加注释

git status可以让我们时刻掌握仓库的状态,比如文件做了修改但是没有add就会报出来

git diff工作区和已经发生改变但未添加到暂存区的区别,就是指尚未暂存的变化

git diff --staged可以比较stagerepository的区别

git log可以显示所有提交日志,有时候由于日志太长,在命令行中会有无法退出的状况,可以用Q(quit)退出,参数--pretty=oneline可以减少输出信息,参数--graph可以输出分支图

git reset --hard HEAD^可以退回上一个版^的个数表示上几个版本,HEAD参数也可以是版本号,输入版本号的前几位就可以了

git relog可以查看所有的版本号

git checkout -- <filename>可以将做了修改但未addfile变回修改前,或者是add后但未commit的状态恢复到文件修改后add前,也就是说此时还是有修改记录,因为git是记录修改的

git remote add origin <repository>可以关联本地库与远程库

git push -u origin <branch>推送本地的某分支的提交到远程库,第一次推送需要-u,以后的可以不用

git branch <branch>创建分支

git checkout <>branch切换到某分支

上述两条可以缩写为git checkout -b <branch name>

git branch -d <branch>删除某分支(合并过的),未合并的需用-D强制删除

git merge <branch>将某分支合并到目前所在的分支,若出现冲突,需要先手动解决冲突,若是一个txt文本,则直接修改当前的txt文件。通常合并采用Fast Forward模式,合并后历史看不出有分支,若加入参数--no-ff可以切换为普通模式,可以历史看到分支状况

git stash可以把当前的工作现场保存下来,返回一串符号。你就可以去做另外的事,等那边搞定了再回来弄。比如你在写某个功能的时候老板让你去修复某个bug,就可以保存当下的工作现场建立一个bug分支,提交后再恢复现场

git stash apply恢复工作现场但是不删除之前的存储记录

git stash pop恢复工作现场并删除之前的存储记录

git pull <remote> <branch>可以把最新的提交抓下来,用于本地合并,解决冲突,再推送。如果该指令失败,原因是没有指定本地分支和远程分支的链接。可以用git branch --set-upstream-to=origin/dev dev来指定再git pull。本地分支名与远程最好一致

git remote -v可以看到远程库信息

git log --graph --pretty=oneline --abbrev-commit查看分支图,用git rebase可以合并分支,变成一条线,优点是更直观,缺点是本地的分叉提交会被自动修改

git tag <tag-name>可以进行打标签,可以加上-m "注释"表示说明,标签是打在某个commit上的,可以在<tag-name>后面加上版本号来指定版本打标签

git tag -a <tag-name> -m "blabla"是给某个没有注释的标签加注释

git show <tag-name>可以看到说明文字

git tag可以查看所有标签

git push origin <tag-name>推送某个标签到远程库

git push origin --tags标签全部推送

git tag -d <tag-name>删除本地标签

git push origin :refs/tags/<tag-name>删除远程标签

工作区和暂存区以及版本库的关系


工作区,顾名思义,就是我们进行工作,敲代码,写文本的地方

repository(版本库)就是一个帮我们保存管理我们通过工作留下的东西的地方

stage(暂存区)是将修改add到的地方

然而git还可以记录尚未add但是已经发生更改的东西,它不属于暂存区,

应该算是前后工作区的对比

commit就是把暂存区的东西放到版本库中,commit之前用git diff --staged可以看到暂存区和版本库间的差异,commit

辨识日志中的分支线与点和HEAD


masterbranch.jpg

HEAD指向谁表示我们当前在哪个分支上,上图中在master分支

那么如何辨别哪根线是master,哪根是dev呢?我们切换到dev分支查看下该分支下的线图就知道了

devbranch.jpg

区别很明显,当前在哪个分支,最左侧的线就是哪个分支

那一个个花瓣标志着在那个阶段有提交发生,也就是说产生了新的版本

参考教程:


廖雪峰的Git教程(问答区有很多有意思的问题)

怎么才能看懂git log线--知乎

相关文章

  • Git 指令小结及一些概念辨析

    mkdir learngit在当前文件夹创建一个名为 learngit 的文件夹 cd learngit进入到 l...

  • Git大法好——2.Git本地操作指令详解

    Git大法好——2.Git本地操作指令详解 标签: Git 引言 上节给大家讲解了有关于Git的一些概念,Git的...

  • 初识git,用git 上传项目到GitHub

    分享一些git基本指令,不喜勿喷! git的基本使用指令 git init 初始化git仓库 git add . ...

  • git使用详解

    目录: 1、git的优势2、需理解的概念3、操作指令 本篇文章只将git是什么,git的优势,以及常用的操作指令,...

  • git设置指令别名

    git设置指令别名 git拥有许多指令,并且允许为这些指令设置别名, 提高开发效率.通过config命令对一些指令...

  • git的一些概念小结

    git,一款免费、开源的分布式版本控制工具,在近几年来,变得非常流行,越来越多工程师和项目都在使用,下面是关于gi...

  • Git常用场景、相关指令及概念

    工作目录,暂存区,版本历史之间关系 1.Untracked files:表示还没有被Git管理起来的文件2.Cha...

  • Git常用指令及流程详解

    Git基本概念了解 为了方便以及我们之后正确的了解Git的各个指令的操作含义,我们需要了解几个概念 Git和SVN...

  • Git常用指令及流程详解

    Git基本概念了解 为了方便以及我们之后正确的了解Git的各个指令的操作含义,我们需要了解几个概念 Git和SVN...

  • git指令及运用

    以一个实例来说明(以桌面为例) 在桌面点击右键,找到git命令符,——>打开 1、创建一个空目录 **注:如果你使...

网友评论

      本文标题:Git 指令小结及一些概念辨析

      本文链接:https://www.haomeiwen.com/subject/ccqhmctx.html