美文网首页
git部分基本命令

git部分基本命令

作者: pdog18 | 来源:发表于2017-11-25 18:02 被阅读55次

https://learngitbranching.js.org/

  • git branch bugWork master^^2^

    在master的上一级节点的第二个父节点的上一个节点建立一个branch分支

    git branch -f three C2

    将分支three强制移动到C2节点上

  • 相对引用

    • ^,^^...
    • ~ , ~<num>...
  • Git Cherry-pick

    git cherry-pick <提交号>
    #git cherry-pick C2 C4
    

  • 交互式的 rebase

    --interactive 简写为-i

    git rebase -i HEAD~4
    
  • rebase

    git rebase caption master 
    #将master合并到caption分支下。
    #即root->caption->bugfix
    

  • git commit --amend 创建'',保留当前的提交的id,而不是创建新的id
  • TAG

    git tag v1 C1 #如果不指定C1 那么Git 会使用HEAD指向的位置
    
  • Git Describe

    描述离你最近的锚点(也就是标签)

    git describe <ref>

    • 如果你没有指定的话,Git会以你目前所检出的位置(HEAD)。

      输出结果是<tag>_<numCommits>_g<hash>

      tag表示的是离ref最近的标签,numCommits是表示这个reftag相差有多少个提交记录,hash表示的是你所给定的ref所表示的提交记录哈希值的前几位。

    • ref提交记录上有某个标签时,则只输出标签名称

  • Git Fetch

    不会更新你的master分支,也不会修改你磁盘上的文件,只是下载提交记录(这样,你就可以对远程分支进行检查或者合并了)

    可以将git fetch的理解为单纯的下载操作

    git fetch origin foo Git 会到远程仓库的foo分支上,然后获取所有本地不存在的提交,放到本地的o/foo上。

    git fetch origin foo:bar Git 将 foo解析成一个origin仓库的位置,然后将那些提交记录下载到了本地的bar分支上。由于指定了目标分支,其他的分支都不会被更新。

  • Git Pull

    先抓取再合并到本地分支 ,可以理解为git fetch 组合 git merge

    git pull 就是 fetchmerge的简写,git pull 唯一关注的是提交最终合并到哪里(也就是为git fetch 所提供的destination参数)

    git pull origin foo 相当于git fetch origin foo; git merge o/foo

  • Git Push

    git push不带任何参数时的行为与Git 的一个名为push.default的配置有关。

    git pull --rebase 就是fetchrebase的简写

    git push <remote> <place> 可以为push指定参数

    git push origin master把这个命令翻译过来就是:切到本地仓库中的master分支,获取所有的提交,再到远程仓库origin中找到master分支,将远程仓库中没有的提交记录都添加上去,搞定之后告诉我。

    我们通过place参数来告诉Git提交记录来自于master,要推送到远程仓库中的master。它实际就是要同步两个仓库的位置。

    git push origin <source>:<destination> 推送到指定<destination>的目标位置。<source><destiantion>都支持相对引用,如果<destiantion> 不存在,则会origin创建新的branch

  • 远程追踪分支

    • pull 操作时,提交记录会被先下载到o/master上,之后再合并到本地master分支。隐含的合并目标由这个关联确定的。

    • push 操作时,我们把工作从master推到远程仓库中的master分支(同时会更新远程分支o/master)。这个推送的目的地也就是由这种关联确定的。

    • 有两种方式设置分支跟踪

      • git checkout -b foo o/master 创建一个名叫foo的分支,它跟踪远程分支o/master
      • git branch -u o/master foo,如果当前就在foo分支上,还可以省略foo

为什么不用merge呢?

rebase的优缺点

  • 优点:
    Rebase 使你的提交树变得很干净,所有的提交都在一条线上

  • 缺点:
    Rebase 修改了提交树的历史

一些开发人员喜欢保留提交历史,因此更偏爱merge。而其他人可能更喜欢干净的提交树,于是偏爱rebase。仁者见仁,智者见智。

古怪的<source>

Git 有两种关于<source>的用法是比较诡异的,即你可以在 git psuhgit fetch 时不指定任何source,方法就是仅保留冒号和destination部分,source部分留空。

  • git push origin :side
  • git fetch origin :bugFix

如果push<source>到远程仓库,它会删除远程仓库中的分支。

如果fetch<source>到本地,会在本地创建一个新的分支。

相关文章

  • git部分基本命令

    https://learngitbranching.js.org/ git branch bugWork mast...

  • Github学习文档-3

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

  • Git命令整理

    Git命令 ———————————————— git配置: git基本步骤: git分支管理: 创建分支命令: 切...

  • Git初阶:入门及常用命令

    Git初阶:入门&常用命令 讲师:××× 课程内容: 介绍版本控制以及Git Git基本概念以及工作流 Git部分...

  • git基本命令

    Git 基本命令 git init git status git add git commit git log G...

  • Git命令集合

    基本命令 git init git status git add git commit git log 添加/删除...

  • git部分命令

    初次运行 Git 前的配置 配置全局的用户名和邮箱,mac下可通过终端输入命令cat ~/.gitconfig查看...

  • GIT使用总结

    GIT的基本命令 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquer...

  • Git工作流及常用命令

    Git安装 直接官网下载git for windows 用户信息配置 Git基本命令 work flow 其他命令

  • git命令大全

    一、 Git 命令初识 在正式介绍Git命令之前,先介绍一下Git 的基本命令和操作,对Git命令有一个总体的认识...

网友评论

      本文标题:git部分基本命令

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