美文网首页git/svn
补充1:Git命令知多少

补充1:Git命令知多少

作者: 宇晨棒棒的 | 来源:发表于2019-08-14 17:59 被阅读0次

这次主要是了解一些多项目情况下可能会用到git命令

1.git log -------->打印提交历史

在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史.

默认是不用任何参数的话,git log会按提交时间列出所有的更新操作.

常用的语句: git log --pretty=format:"%h %s" --graph

--pretty 选项指定打印的格式

%h 列出每次提交对象的hash值

%s 每次提交的注释信息

2.git fork:不是一个Git命令,而是一种工作流.

它不是使用单个服务端仓库作为『中央』代码基线,而让各个开发者都有一个服务端仓库,这意味着各个代码贡献者有2个Git仓库而不是1个:一个本地私有的,另一个服务端公开的.

Forking工作流的一个主要优势是,贡献的代码可以被集成,而不需要所有人都能push代码到仅有的中央仓库中。 开发者push到自己的服务端仓库,而只有项目维护者才能push到正式仓库。 这样项目维护者可以接受任何开发者的提交,但无需给他正式代码库的写权限

3.git reset:版本回退出现的场景:

1)当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时

git checkout -- filename

2)当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改:

git reset HEAD file  && git checkout -- filename 

3)已经提交了不合适的修改到版本库时,想要撤销本次提交(没有提交到远程仓库):

git reset --hard commit_id

4.Git revert版本回退:

Git revert用来撤销某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交。git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容

Git revert和git reset都可以进行版本的回退,将工作区回退到历史的某个状态,二者有如下的区别

git revert是用一次新的commit来回滚之前的commit,而git reset是直接删除指定的commit(并没有真正的删除,通过git reflog可以找回),这是二者最显著的区别;

git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容;

在回滚这一操作上,效果差不多。但是在日后继续merge以前的老版本时有区别。因为git revert是用一次逆向的commit"中和"之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现;但是git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。

5.git stash

Git stash用来暂存当前正在进行的工作, 将工作区还没加入暂存库的内容压入本地的Git栈中,在需要应用的时候再弹出来.

A.应用场景:

1)想pull 最新代码,又不想加新commit

2)为了修复一个紧急的bug,先把工作区保存起来,使返回到自己上一个commit,改完bug之后再把工作区弹回来,继续原来的工作

B.git stash的基本流程:

1)git stash             #暂存工作区尚未提交的内容

2)进行你的操作             #在上一个提交的状态之上完成你的操作

3)git stash pop            #将暂存的内容弹出并应用

C.多次使用git stash命令后,你的栈里将充满了未提交的代码:

1)git stash list #将当前的Git栈信息打印出来,找到对应的版本号

2)git stash apply 版本号   #将指定版本号的暂存内容取出来

3)git stash clear #清空栈

相关文章

  • 补充1:Git命令知多少

    这次主要是了解一些多项目情况下可能会用到git命令 1.git log -------->打印提交历史 在提交了若...

  • 补充2Git命令知多少

    6.git rebase 应用场景: 1)合并多次提交信息: A.在一个版本库中提交了三此commit: B.合并...

  • GIt 操作补充

    常用的git操作命令 常用的git操作命令已经能够满足日常的工作需求 现补充一些高级命令 git branch -...

  • git 命令补充

    删除文件的方法 git rm 文件名同时删除文件夹和文档库中文件。 删除文件夹中文件,执行git add - A,...

  • 图解4种Git合并分支方法

    原文---图解4种git合并分支方法 1. 补充 git rebase 改命令会把"dev"分支里的每个提交(c...

  • Git常用命令总结

    下面是笔者整理的git常用的命令,如有其它各种好用的命令,请不吝评论,加以补充。 Git配置项 git confi...

  • git reset --hard、git reset --sof

    补充git相关命令git log:查看仓库的历史版本git log --oneline:加上这个参数可以更加简洁查...

  • GIT命令知多少

    1.初始化git版本库: git init 2.查看版本库的状态: git status 3.添加修改的文件到暂存...

  • Github学习文档-3

    目录 1.Git 的基本的命令git init命令git status命令git add命令git commit命...

  • git实用命令

    git实用命令 1 git init 命令 初始化 git 仓库 repository 2 git add 命令 ...

网友评论

    本文标题:补充1:Git命令知多少

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