• git 使用


    git基础

    git log --oneline # 精简一行显示
    git log -(n)
    git reflog # 还可以显示分支指针diffgit diff [文件名] ---》 将工作区中的文件和暂存区中文件进行比较
    git diff --->比较工作区中和暂存区中 所有文件的差异
    git diff [历史版本][文件名] ---》比较暂存区和工作区中内容重置当前工作区git checkout path #恢复单个文件
    git checkout .resetgit reset --hard [索引]
    git reset --mixed [索引] # 本地库的指针移动的同时,重置暂存区,但是工作区不动
    git reset --soft [索引] # 本地库的指针移动的时候,暂存区,工作区都不动

    eg.最近两次的提交

    git reset --hard HEAD~2
    git reset --hard HEAD^^修改基本信息# 查看
    git config user.name
    git config user.email

    修改

    git config --global user.name "xxx"
    git config --global user.email "xxx"分支管理# 查看分支
    git branch -v
    git branch -a # 所有分支,包括远程

    创建分支

    git branch branch01

    删除本地分支

    git branch -d branch_name

    删除远程分支

    git branch -r -d origin/branch-name
    git push origin :branch-name

    切换分支

    git checkout

    拉远程分支1

    git checkout -b dev origin/dev

    拉远程分支2

    git checkout origin/dev_sun # 直接切换到远程分支,本地没有会创建
    git checkout dev_sun # 再切换到本地的分支,已经自动关联

    查看分支的绑定情况

    git branch -vv远程分支# 查看远程分支
    git remote -v

    远程地址起别名

    git remote add https://xxxxx

    推送远程分支

    git push origin(远程库别名或地址) master(分支名)绑定远程分支
    git pull时,提示There is no tracking information for the current branch.
    Please specify which branch you want to merge with.说明本地分支没与远程分支绑定,直接指定拉,可以指定远程分支git pull origin master也可以命令指定git branch --set-upstream-to=origin/master master

    删除分支

    删除本地分支

    git branch -d

    删除远程分支

    git push origin --delete 分支合并

    stash
    暂存当前工作区代码
    git stash save 'zjm'
    git stash pop
    常用git stash命令
    (1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
    (2)git stash list  :查看stash了哪些存储
    (3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
    (4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p
    (5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 
    (6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
    (7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
    (8)git stash clear :删除所有缓存的stash

    commit管理合并
    git rebase -i
    git rebase -i [startpoint] [endpoint]

    eg:
    git rebase -i HEAD~3

    git rebase -i 36224db其中-i的意思是--interactive,即弹出交互式的界面让用户编辑完成合并操作,[startpoint] [endpoint]则指定了一个编辑区间,如果不指定[endpoint],则该区间的终点默认是当前分支HEAD所指向的commit(注:该区间指定的是一个前开后闭的区间)。粘贴到另一个分支上git rebase [startpoint] [endpoint] --onto [branchName]

    eg:
    git rebase 90bc0045b^ 5de0da9f2 --onto master

    git checkout master
    git reset --hard 0c72e64简单命令:git cherry-pickcommit范围前开后闭当前HEAD处于游离状态,实际上,此时所有分支的状态应该是这样:所以,虽然此时HEAD所指向的内容正是我们所需要的,但是master分支是没有任何变化的,git只是将C~E部分的提交内容复制一份粘贴到了master所指向的提交后面,我们需要做的就是将master所指向的提交id设置为当前HEAD所指向的提交id就可以了,即:git checkout master
    git reset --hard 0c72e64修改删除otherpull操作同时做了fetch和merge操作fetch+merge操作:---》为了保险,慎重 pull --->代码简单,省事设置代理# 设置当前代理
    git config http.proxy http://127.0.0.1:7890

    取消当前代理

    git config --unset http.proxy

    设置全局代理

    git config --global http.proxy http://127.0.0.1:7890

    取消全局代理

    git config --global --unset http.proxy

    查看代理

    git config --global --get http.proxy
    git config --global --get https.proxy创建分支并关联远程分支1. 切换到被copy的分支(master),从服务器拉取最新版本
    $git checkout master
    $git pull

    1. 从当前分支copy出新的开发分支 命名dev分支
      $git checkout -b dev
      Switched to a new branch 'dev'

    2. 把新建的分支push到远端
      $git push origin dev

    3. 拉取远端分支
      $git pull
      There is no tracking information for the current branch.
      Please specify which branch you want to merge with.
      See git-pull(1) for details.
      git pull
      If you wish to set tracking information for this branch you can do so with:
      git branch --set-upstream-to=origin/ dev

    pull时发现,当前的分支并没有和本地分支关联,根据提示进行下一步:

    1. 关联
      $git branch --set-upstream-to=origin/dev

    2. 再次拉取 验证
      $git pull强拉git fetch --all && git reset --hard origin/dev && git pull

  • 相关阅读:
    c中%
    led,key通用IO的端口
    运行UART的程序
    大端和小段
    看门狗
    关于webpack的path和publicPath。
    转义BABEL的POLYFILL和RUNTIME的区别
    前端博客地址
    Webpack的使用指南-Webpack的常用解决方案
    webpack学习笔记
  • 原文地址:https://www.cnblogs.com/khal-Cgg/p/15393282.html
Copyright © 2020-2023  润新知